我正在尝试使用pystache将一些数据写入文件。数据来自从google docs电子表格导出的csv文件。使用pystache模板写入文件时,出现此错误:
UnicodeDecodeError:'ascii'编解码器无法解码字节...
根据有关Stackoverflow的其他一些问题,我应该使用.decode('utf-8')
,但仍然出现相同的错误。
datafile = "../data.csv"
renderer = pystache.Renderer()
f=open('sample.html','w')
templateHash={}
items = []
with open(datafile, 'rb') as csvfile:
datareader = csv.reader(csvfile, delimiter=',')
for row in datareader:
item = {'name' : row[2].decode('utf-8')}
items.append(item)
templateHash['lines'] = items
f.write(renderer.render_path('sample.mustache', templateHash))
f.close
这里是完整的回溯:
Traceback (most recent call last):
File "parsetable.py", line 15, in <module>
f.write(renderer.render_path('sample.mustache', templateHash))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 750: ordinal not in range(128)
[Finished in 0.3s with exit code 1]
最佳答案
f = codecs.open('sample.html', 'w', encoding='utf-8')
或者更好的是使用
with
。关于python - 带有pystache/mustache的UnicodeDecodeError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14542073/