爬虫爬出的结果输出到 csv 文件中,打开发现汉字显示为乱码,如何解决?

2017 年 9 月 7 日
 saximi

32 位 WINDOWS7,PYTHON3 环境下。用这样的命令将爬到的结果输出到 CSV 文件: scrapy crawl 爬虫名 -o result.csv

这个文件用 EDITPLUS 或写字板打开都能正常显示其中的汉字,但是直接双击 CSV 文件用 EXCEL 打开时其中的汉字却都是乱码,请问这个要如何解决呢?感谢指点!

10536 次点击
所在节点    Python
24 条回复
blindpirate
2017 年 9 月 7 日
Bom
gooin
2017 年 9 月 7 日
编码格式改为 utf-8?
ho121
2017 年 9 月 7 日
utf8-bom
expkzb
2017 年 9 月 7 日
文件转 gbk 编码就好了应该
saximi
2017 年 9 月 7 日
@ho121 # -*- coding: utf8-bom -*- ? 这么写不对呢
saximi
2017 年 9 月 7 日
@expkzb 命令行模式用什么参数可以转 GBK 呢?
imn1
2017 年 9 月 7 日
excel 用导入,高级,然后选 utf-8
dd99iii
2017 年 9 月 7 日
utf-8-sig
togodo
2017 年 9 月 8 日
文件格式选系统默认
saximi
2017 年 9 月 8 日
@imn1 EXCEL 导入时手工处理是可以的
saximi
2017 年 9 月 8 日
@togodo 这个是在哪里选呢? EXCEL 导入时么?那就是 UTF-8 了
rabbbit
2017 年 9 月 8 日
用记事本打开,另存为 utf-8 格式
thundernet8
2017 年 9 月 8 日
excel 打开 csv 默认 ansi 编码 所以你只能通过 excel 重新导入逗号分隔文本 然后生成 xls
wisefree
2017 年 9 月 8 日
这是 excel 的问题,百度:excel 导入 csv 文件
togodo
2017 年 9 月 8 日
@saximi 我不懂 py,我用 c#写的爬虫方式是本地写入文件时候,需要和操作系统的文件格式一致
KgM4gLtF0shViDH3
2017 年 9 月 8 日
用 Python2 爬 HTML 页面或者爬到数据库然后导出到 csv 还没遇到过这种问题呢。我都是先 sys.setdefaultencoding('utf-8')
kaiser1992
2017 年 9 月 8 日
微软的软件打开文件默认都是 ANSI 编码(国内就是 GBK),UTF-8 的 csv 文件在 execl 中打开时解码自然就乱码了,在 WINDOWS 中识别 UTF-8 需要在前面添加 BOM(16 进制的:EF BB BF ),或者选择导入的方式(里面可以选择编码)。
davidqw
2017 年 9 月 8 日
excel 新建表单导入 csv,编码选择 UTF-8,直接双击不行
runningman
2017 年 9 月 8 日
utf-8 without boom
saximi
2017 年 9 月 8 日
@dd99iii # -*- coding: utf-8-sig -*- ? 程序中这么写无效呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/389043

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX