使用utf-8编码打开csv文件时候报错,如下: fo = open("2.csv","r",encoding="utf-8")
尝试解决(修改cvs文件编码):
无效方法:使用python读取含有中文的csv文件的时候常常遇到编码错误,因此就想把csv文件编码改为utf-8编码方式,用excel打开另存为utf-8格式没法解决问题,可以采用以下方法:
有效方法:首先,将.csv文件保存一下,然后鼠标右击打开方式记事本。
然后,以记事本的方式打开了。
文件-另存为 这时弹出一个窗口,右下方,编码,这时候你就可以选择自己想要的编码格式,然后保存,就可以了。
再次读取文件:
fo = open("2.csv","r",encoding="utf-8")
虽然取出来的内容不是乱码,但是前面带了\ufeff
\ufeff 这是哪来的呢?网上搜索后发现原来是文本保存时包含了BOM(Byte Order Mark,字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码)导致的,解决方法是使用 utf-8-sig 编码,即
fo = open("2.csv","r",encoding="utf-8-sig")
得到结果如下: