Excel读取“带BOM的UTF8”文件出现乱码的解决方法

本文讲述了在爬虫过程中遇到的Excel打开CSV文件出现中文乱码的问题,分析了问题原因在于CSV文件带有BOM。解决方案包括使用不带BOM的CSV文件存储数据,以及通过Sublime Text识别并去除BOM,从而成功复制和读取数据。
摘要由CSDN通过智能技术生成

问题现象

从网上爬取的数据用append的方式存储到CSV文件中,过几天用Excel打开之后发现乱码,仔细查看,中文都是乱码,其他没问题

问题分析

初步分析应该是在爬取或写入的时候出现了编码问题;

先查看网页源代码:

在目标网页按F12,打开开发者工具,,然后在在console控制台输入document.charset 然后回车,结果是UTF8,并没有错误

然后看源代码,都没有问题

然后看CSV文件的编码:

用文本文件打开CSV文件,右下角就显示当前文件的编码。结果发现CSV文件的编码是“带有BOM的UTF”,上网查得:Byte Order Mark,字节顺序标记,一种文件头部协议,存储在文件头部,用于标识文件编码。

仔细回想发现,最初的空白CSV文件是由Excel另存为获得的,推测在另存为的过程中添加了BOM

那么下面面临两个问题:

1、如何避免这类问题再次发生。

方法很简答,用一个不带BOM的CSV文件存储爬取的数据即可:找了一个正常可以读取的CSV文件,用记事本打开,另存为CSV文件,后续再写入数据的时候直接写入这个新的CSV文件就行了。

2、原来的CSV文件中的数据怎么复制出来。

初步想法是复制出来,但在Excel中直接打开也不行、使用导入CSV文件的功能并尝试了各种编码,也不行,都是乱码。上网找其他的文本编辑器,发现多数推荐sublime、notepad,使用sublime打开,发现sublime提供了“设置文件编码”的功能(其实这个没用&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值