python写入文件中文乱码_记一次python写入txt文件正常,但是写入csv文件中文乱码问题...
今天在將已經爬取完存成txt文件批量導入保存csv格式時,文本中的漢字能夠正常正常顯示,但是用正常的方法保存到csv中就成了亂碼。
最開始的寫法:with open(city+'.csv','a+') as csv_file:
csv_file.write(line)
打開文件發是亂碼,于是又重新改寫增加encoding='utf-8')
滿心歡喜的去看生成的文件,但是又一次的讓我失望而歸,后來沒辦法去網上到處找資料 ,終于讓我找到了方法,就是將原來的'utf-8' 換成 'utf-8-sig'
代碼如下with open(city+'.csv','a+',encoding='utf-8-sig') as csv_file:
csv_file.write(line)
這次果然成功了,不知道具體原因是什么,但是卻實現了我想要的效果。
下面放出我寫的簡單的將當前目錄下的所有txt文件轉成 csv文件的代碼,此代碼會自動根據相應的文件夾名字保存csv文件的名稱 并保存,寫的不是很完善,有大佬看到的話,多多指教。
源碼:import csv
import os
root_path =os.path.dirname(os.path.abspath(__file__))+'\山東省'
# print(root_path)
city_list=os.listdir(root_path)
# print(city_list)
for city in city_list:
# print(city)
city_path=os.path.join(root_path,city)
# print(city_path)
for i in range(32):
file_path=city_path+r'\{}.txt'.format(str(i))
if not os.path.exists(file_path):
continue
else:
with open(file_path,'r',encoding='utf-8') as f_txt:
txt_lines=f_txt.readlines()
# print(txt_lines)
for line in txt_lines:
with open(city+'.csv','a+',encoding='utf-8-sig') as csv_file:
csv_file.write(line)
print('寫入完成')
總結
以上是生活随笔為你收集整理的python写入文件中文乱码_记一次python写入txt文件正常,但是写入csv文件中文乱码问题...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Photoshop安装coolorus2
- 下一篇: 如何查询自己名下的信用卡 如何查询名下的