python寫入csv老是亂碼或者各種不好

2021-09-21 06:54:21 字數 1920 閱讀 2156

儲存為用逗號分隔符的文字檔案

改檔案字尾即可

這裡有乙個只是針對python2編碼的詳細介紹

python2最大的坑在於中文編碼問題,遇到中文報錯首先加u,再各種encode、decode。

當list、tuple、dict裡面有中文時,列印出來的是unicode編碼,這個是無解的。

對中文編碼糾結的建議盡快換python3吧,python2且用且珍惜!

1.open開啟csv檔案,用writer寫入帶有中文的資料時

# coding:utf-8

import csv

f = open("xieru.csv", 'wb')

writer = csv.writer(f)

# 需要寫入的資訊

data = ["客戶名稱", "行業型別", "客戶聯絡人", "職位", "****", "郵箱","位址"]

writer.writerow(data) # 寫入單行

# writer.writerows(datas) # 寫入多行

f.close()

2.開啟csv檔案,發現寫入的中文亂碼了

1.中文亂碼問題一直是python2揮之不去的痛,這裡先弄清楚亂碼原因:

所以就導致了亂碼問題

2.先把python裡面的中文字串decode成utf-8,再encode為gbk編碼

data.decode('utf-8').encode('gbk')

3.如果是讀取csv檔案的話,就反過來:

data.decode('gbk').encode('utf-8')

# coding:utf-8

import csv

f = open("xieru1.csv", 'wb')

writer = csv.writer(f)

# 需要寫入的資訊

data = ["客戶名稱", "行業型別", "客戶聯絡人", "職位", "****", "郵箱","位址"]

a =

for i in data:

writer.writerow(a) # 寫入單行

# writer.writerows(datas) # 寫入多行

f.close()

# coding:utf-8

import csv, codecs

import sys

reload(sys)

sys.setdefaultencoding('utf8')f = codecs.open("xx.csv",'wb',"gbk")writer = csv.writer(f)

writer.writerow(["客戶名稱", "行業型別", "客戶聯絡人", "職位", "****", "郵箱","位址"])

# 多組資料存放list列表裡面

datas = [

["客戶名稱", "行業型別", "客戶聯絡人", "職位", "****", "郵箱","位址"],

["客戶名稱", "行業型別", "客戶聯絡人", "職位", "****", "郵箱","位址"],

["客戶名稱", "行業型別", "客戶聯絡人", "職位", "****", "郵箱","位址"],

]writer.writerows(datas)

f.close()

Python寫入csv檔案中文亂碼問題

今天用python3寫入csv檔案的時候,出現中文亂碼的問題,但是寫入txt檔案顯示正常。寫入txt record file open database githubdaily weibo.txt mode a encoding utf 8 record file.write 發布時間,終端,內容 ...

python寫入csv檔案中文亂碼解決方案

問題 最近處理資料時需要將txt檔案轉化成csv格式,txt中正常儲存顯示的中文在寫入到csv檔案時變成了亂碼,檔案的編碼未能正確處理中文,需要在寫入csv檔案時指定編碼。解決方法 csvfile file data.csv wb display chinese correctly csvfile....

python匯出寫入csv檔案中文亂碼 親測

最近處理mongodb中的資料。要將mongo中的資料匯入到csv檔案中。正常寫入csv檔案後。在pycharm中檢視中文正常顯示。但用office開啟csv後,中文卻顯示亂碼。以下方法親測有效 with codecs.open test.csv w utf 8 sig as csvfile 將 u...