我正在使用csv
模块在csv文件中编写一个包含一些非ascii字符的大型列表。我一直收到以下错误消息
UnicodeEncodeError: 'ascii' codec can't encode characters in position 48-50: ordinal not in range(128)
我不需要这些字符,所以可以忽略它们。我尝试了在SOF上推荐的不同方法,但到目前为止它们都没有工作(错误信息是相同的)。是否有一种简单的方法来解决编码错误并继续?我试过了:
io.open(file, encoding = "utf-8")
codecs.open(file, encoding = "utf-8")
codes.open(file, errors = "ignore")
我只需设置pandas
即可使用encoding = "utf-8"
模块将数据写入csv。我可以在csv
模块中执行类似的操作吗?
答案 0 :(得分:4)
对于Python 2.7,您应该使用unicodecsv
模块:unicodecsv 0.9.4。这是Python内置csv
模块的替代品,它支持Unicode。在Python 3.x中,您不再需要替换它,因为Python 3.x在其csv
模块中支持Unicode。
您可以通过运行来安装它:
pip install unicodecsv
答案 1 :(得分:0)
您可以安装 unicodecsv ,也可以使用{{1在CSV
文件中写入 utf-8 格式的行}}
csv writer