使用python 2.7编写包含unicode的csv文件

时间:2014-11-25 00:16:28

标签: python python-2.7 csv unicode

我正在使用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模块中执行类似的操作吗?

2 个答案:

答案 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