python读取csv文件编码问题

使用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")

得到结果如下:

 

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值