写入csv时清除unicode字符

时间:2017-05-29 20:17:58

标签: python python-2.7 csv unicode python-unicode

我正在使用某个REST api获取数据,然后尝试使用python 2.7将其写入csv

在csv中,每个带有元组的项目都围绕着它。例如,在我正在检索的'tags'字段中,我得到[u'01d / 02d / major / - ',u'45m / 04h / 12h / 24h',u'internal',u'net', u'premium_custom',u'priority_fields_swapped',u'priority_saved',u'problem',u'urgent',u'urgent_priority_issue']。但是,如果我在编写csv之前在程序中打印数据,数据看起来很好,.ie('01d / 02d / major--','45m / 04h / 12h / 24h'等)。所以我假设我必须修改csv write命令或csv编写器对象本身内的东西。我的问题是如何正确地将数据写入csv,以便没有unicode字符。

1 个答案:

答案 0 :(得分:0)

在Python3中: 只需在打开要写入的csv文件时定义编码。

如果该行包含非ascii字符,您将获得UnicodeEncodeError

row = [u'01d/02d/major/--', u'45m/04h/12h/24h', u'internal', u'net', u'premium_custom', u'priority_fields_swapped', u'priority_saved', u'problem', u'urgent', u'urgent_priority_issue']
import csv
with open('output.csv', 'w', newline='', encoding='ascii') as f:
    writer = csv.writer(f)
    writer.writerow(row)