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)
# 需要寫入的資訊
# 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()
從悠悠處搬過來的。
寫csv檔案 Python讀寫CSV
逗號分隔值 comma separated values,csv,有時也稱為字元分隔值,因為分隔字元也可以不是逗號 其檔案以純文字形式儲存 資料 數字和文字 1 首先匯入csv模板 2 建立乙個csv檔案物件 3 開啟檔案進行讀取 結果 測試1 軟體測試工程師 測試2 軟體測試工程師 測試3 軟體測...
python 寫資料為 csv 檔案
1 簡介 csv 檔案 類似於 excle 那樣有一定的排序結構。方便資料觀察,可以使用記事本或者 excle開啟 下面我們就嘗試將一組資料儲存成csv 檔案 2 功能 import csv lists 姓名 年齡 小明 19 小黑 20 小白 21 小灰 22 with open test.csv...
Python中用print方法向檔案中寫入內容
乙個小功能,我就是想用print功能實現,不想用write import os os.chdir usr tem char my name is yangyanxing f open test.txt w print f,char但是python3中還可以用以下的方式 import os os.ch...