所以我遇到了一个编码问题,这个问题源于用Python编写字典到csv。在
下面是一个示例代码:import csv
some_list = ['jalape\xc3\xb1o']
with open('test_encode_output.csv', 'wb') as csvfile:
output_file = csv.writer(csvfile)
for item in some_list:
output_file.writerow([item])
这个工作非常好,给了我一个csv文件,里面写着“jalapeño”。在
但是,当我创建一个字典列表,其中的值包含这样的UTF-8字符。。。在
^{pr2}$
我只得到一个包含两行的csv文件,其中包含以下条目:{'main': ['4 dried ancho chile peppers, stems, veins and seeds removed']}
{'main': ['2 jalape\xc3\xb1o peppers, seeded and chopped', '1 dash salt']}
我知道我的东西是用正确的编码编写的,但因为它们不是字符串,当它们由csv.writer,它们是按原样写的。这是令人沮丧的。我在这里搜索了一些类似的问题,人们都提到使用csv.DictWriter但这对我来说并不是很好,因为我的字典列表并不是只有一个键'main'。有些还有其他的键,比如'toppings','crust',等等。不仅如此,我还在做更多的工作,最终的输出是将成分格式化为数量、单位、成分,所以我将得到一个字典列表,比如[{'main': {'amount': ['4'], 'unit': [''],
'ingredient': ['dried ancho chile peppers']}},
{'topping': {'amount': ['1'], 'unit': ['pump'],
'ingredient': ['cool whip']}, 'filling':
{'amount': ['2'], 'unit': ['cups'],
'ingredient': ['strawberry jam']}}]
说真的,任何帮助都将不胜感激,否则我将不得不在LibreOffice中使用find and replace来修复所有这些\x**UTF-8编码。在
谢谢你!在