pystache を使用してファイルにデータを書き込もうとしています。データは、Google ドキュメントのスプレッドシートからエクスポートされた 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]