直奔主题:把包含中文的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()