我使用的是python2.7.5,并尝试获取一个现有的CSV文件并对其进行处理以删除大于3个字节的unicode字符。(把这个发给机械土耳其人,这是亚马逊的限制。)# -*- coding: utf-8 -*-
import csv
import re
re_pattern = re.compile(u'[^\u0000-\uD7FF\uE000-\uFFFF]', re.UNICODE)
ifile = open('sourcefile.csv', 'rU')
reader = csv.reader(ifile, dialect=csv.excel_tab)
ofile = open('outputfile.csv', 'wb')
writer = csv.writer(ofile, delimiter=',', quotechar='"', quoting=csv.QUOTE_ALL)
#skip header row
next(reader, None)
for row in reader:
writer.writerow([re_pattern.sub(u'\uFFFD', unicode(c).encode('utf8')) for c in row])
ifile.close()
ofile.close()
我正在获取此错误:
^{pr2}$
因此,它确实正确地遍历了一些行,但是当到达奇怪的unicode字符时,它会停止。在
我真的很感谢你的指点,我完全搞不懂。我已经用'latin1'和unicode(c)替换了'utf8'。编码为unicode(c)。解码,我一直得到同样的错误。在