【发布时间】:2016-05-12 14:39:05
【问题描述】:
我知道这是一个常见的初学者问题,在堆栈交换中有大量这样的问题,我一直在搜索它们,但我仍然无法弄清楚。我有一些来自抓取的数据,看起来像这样(列表中大约有 1000 个项目):
inputList = [[u'someplace', u'3901 West Millen Drive', u'Hobbs', u'NH',
u'88240', u'37.751117', u'-103.187709999'], [u'\u0100lon someplace', u'3120
S Las Vegas Blvd', u'Las Duman', u'AL', u'89109', u'36.129066', u'-145.168791']]
我正在尝试将其写入这样的 csv 文件:
for i in inputList:
for ii in i:
ii.replace(" u'\u2019'", "") #just trying to get rid of offending character
ii.encode("utf-8")
def csvWrite(inList, outFile):
import csv
destination = open(outFile, 'w')
writer = csv.writer(destination, delimiter = ',')
data = inList
writer.writerows(data)
destination.close()
csvWrite(inputList, output)
但我不断收到此错误,writer.writerows(data):
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in
position 5: ordinal not in range(128)
我尝试了很多不同的方法来对列表中的数据进行编码,但仍然总是出错。我愿意忽略无法编码为ascii的字符。谁能指出我正确的方向,我正在使用python2.6
【问题讨论】:
-
是的,我确实是这样想的,但修复那条线后我仍然遇到同样的错误
标签: python character-encoding python-2.x