LMa*_*ter 51
我自己想出了一个答案:
def UnicodeDictReader(utf8_data, **kwargs):
csv_reader = csv.DictReader(utf8_data, **kwargs)
for row in csv_reader:
yield {unicode(key, 'utf-8'):unicode(value, 'utf-8') for key, value in row.iteritems()}
Run Code Online (Sandbox Code Playgroud)
注意:这已更新,因此根据评论中的建议解码密钥
对我而言,关键不是操纵csv DictReader args,而是操纵文件打开器本身。这达到了目的:
with open(filepath, mode="r", encoding="utf-8-sig") as csv_file:
csv_reader = csv.DictReader(csv_file)
Run Code Online (Sandbox Code Playgroud)
不需要特殊的课程。现在,无论有没有BOM,我都可以打开文件而不会崩溃。
| 归档时间: |
|
| 查看次数: |
25277 次 |
| 最近记录: |