折腾:
【已解决】PySpider如何把json结果数据保存到csv或excel文件中
期间,然后对于导出的csv文件,默认是utf8编码的:
但是去用excel打开:
后,内容显示出乱码:
然后去找了半天发现是:
此处的excel,默认是用中文的GBK(小范围叫 GB2312,大范围叫 GB18030)去打开中文的。导致此处UTF-8编码的,加载出来是乱码。
而去手动改为GBK编码:
保存为gbk的文件:
再去用excel打开,就正常显示了,没有乱码了:
而另外也去找过:
excel打开csv文件时,是否可以指定文件编码,结果也是没找到。
去搜搜看:
excel open csv default encoding
Change default encoding of Excel to UTF-8? – Super User
Win中要去修改注册表配置。
此处是Mac。
Is it possible to force Excel recognize UTF-8 CSV files automatically? – Stack Overflow
去导入,发现是可以选择文件编码的:
文件-》导入-〉CSV文件-》点选要打开的csv文件-〉获取数据-》进入 文本导入向导:
此处Mac中默认是 Simplified Chinese (Mac OS):可见预览中的数据都是乱码
点击编码改为:Unicode(UTF-8),可见预览中数据就正常了
-》 下一步-〉分隔符设置为 逗号 -》 下一步 〉完成
不过刚刚发现,此处是在已经打开了一个excel文件的情况下,去导入的,结果问你要把数据插入到哪里:
取消掉。
重新新打开一个空的excel,重复上述步骤
(否则对于excel来说,没有打开文件,是无法导入的:
)
最后确定:
即可正常导入,没有乱码了:
【总结】
对于Excel中,不论是Win还是Mac,默认打开csv(因为是纯文本)文件,默认都是:
Simplified Chinese的编码,即GB2312/GBK/GB18030,导致如果打开UTF-8的csv会显示乱码。
解决办法:
1.直接把csv编码从UTF-8改为GBK(或GB2312或GB18030)
比如用VSCode把csv文件编码转换为GBK
再去用excel打开就不会乱码了。
2.利用excel的导入,指定编码,也可以
不过要新建一个空的excel文件,然后才能去用导入功能
具体过程:
新建一空的Excel -》 文件-》导入-〉CSV文件-》点选要打开的csv文件-〉获取数据-》进入 文本导入向导,把 文件原始格式 从 Simplified Chinese (Mac OS)改为 Unicode(UTF-8)-》 下一步-〉分隔符设置为 逗号 -》 下一步 〉完成