在写课设的时候,爬取了超多数据,在写入csv文件时出错:
UnicodeEncodeError: 'gbk' codec can't encode character '\U0001f44d' in position 184: illegal multibyte sequence
以上类型的报错是因为gbk无法将某一位置的字符解码。
先介绍解决方法:在使用文件时,加上errors='ignore'即可,表面意思就是对出错的忽略
(后面还有一些方法大家需要的话可以设置一下)
with open("tryy.csv", "w", encoding="gbk", newline="",errors='ignore') as f:
另外,大家记住,encoding就是要='gbk',如果改成了'utf-8',文件就会诸如下图:
诶嘛,恶心啊!
查阅资料时,有以下两个没毛病但是没效果的方法,虽然但是,可以建议大家在有写入、爬取、保存等等一系列操作的时候设置一下:
方法一:在.py文件顶部加上:
# -*- coding:utf-8 -*-
(很多人都推荐了,但是近期连做好多课设以来发现并没有什么用,所以还是具体问题具体分析)
方法二:将IDE(比如pycharm)进行设置。打开文件-设置,将以下三个全改为UTF-8(对本次报错没有帮助,但是改了没毛病)
希望可以帮到你~