2017-05-29 45 views
0

我使用的是某些REST API来获取数据,然后attemping使用Python 2.7清洁Unicode字符在写入到csv

在CSV,每个项目有一个元组U”'将其写入到一个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写入命令或csv写入器对象本身内的某些内容。我的问题是如何正确地将数据写入csv,以便没有unicode字符。

+0

的'U” ......。 ''围绕文本元素显示你正在处理unicode字符串。你为什么要避免这种情况?如果您不想(理解)理解Python 2的数据模型,为什么不切换到Python 3? – lenz

回答

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) 
+0

蟒蛇2.7的任何替代? –