直奔主題:把包含中文的csv文件的編碼改成utf-8的方法:
https://stackoverflow.com/questions/191359/how-to-convert-a-file-to-utf-8-in-python
最近需要驗證CSV文個中,某個字段是否存在一些特定的中文,用python打開CSV進行遍歷時總因為編碼的問題報錯,實在頭大,就采取了曲線救國的方法,即先將CSV文件用EXCEL打開,另存為 CSV utf8格式。
然后再遍歷,就OK了。
接下來需要研案下, python腳本中如何將CSV文件編碼改為utf8的格式,就不用我每次都手工另存為修改格式了。
#!/usr/bin/env pythonpasting
# coding=utf-8
'''
IHG報表中去掉鍾點房。一行一行掃描CSV文件,查看是否有鍾點房。
第一步:將IHG報表中的all報表打開,另存為CSV utf-8格式的。放到腳本文件夾下,以備驗證用。
第二步:用utf-8格式打開就沒有問題了,之前存的unicode格式的excel遍歷時就存在編碼總錯的問題,相當於繞過去解決了這個問題。
'''
import codecs
#csv讀取
file_name ='E:/******.csv'
import codecs
def checkDataQulity():
f = codecs.open(file_name,"r",'utf-8')
while True:
l = f.readline()
if not l:
break
ldata = l.split(",")
b = u'鍾點房'
if ldata[4].find(b) !=-1:
print '**************************',l
if __name__ == "__main__":
checkDataQulity()
