我正在尝试将XML文件转换为CSV,但XML的编码(“ISO-8859-1”)显然包含不在Python用来写行的ascii编解码器中的字符。
我收到错误:
Traceback (most recent call last):
File "convert_folder_to_csv_PLAYER.py", line 139, in <module>
xml2csv_PLAYER(filename)
File "convert_folder_to_csv_PLAYER.py", line 121, in xml2csv_PLAYER
fout.writerow(row)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 4: ordinal not in range(128)
我试过按如下方式打开文件:
dom1 = parse(input_filename.encode( "utf-8" ) )
我尝试在写入之前替换每行中的\ xe1字符。有什么建议?
答案 0 :(得分:1)
xml解析器返回unicode
个对象。这是好事。事实是,csv
模块无法处理它们。
您可以在传递给unicode
作者之前对xml解析器返回的每个csv
字符串进行编码,但更好的方法是使用csv UnicodeWriter
recipe来自{{1}的官方文档1}}模块:
csv