使用此代码尝试打印 csv 中的每一行:
import csv
f = open('export.csv')
csv_f = csvkit.reader(f)
for row in csv_f:
print(row)
不幸的是,csv 文件在多行中包含字符 ® ,这会导致以下错误:
UnicodeEncodeError: 'charmap' codec can't encode character '\xae' in position 27: character maps to <undefined>
我已经搜索了类似问题的其他答案,并尝试使用不同的编码,但不幸的是,我无法完全理解它以使其工作。 CSV 文件似乎采用 UTF-8 格式,或者至少当我在 Windows 中打开该文件时 OpenOffice Calc 是这么说的。
有什么方法可以让我在“忽略” ® 字符的同时打印行,以便不返回错误?任何替代解决方案也将不胜感激。
如果你想过滤一些“不可打印/奇怪”的字符,你可以这样做:
row = ["aaaaa \xae bbbbb","foo"]
filtered_row = ["".join(c if ord(c)<128 else "." for c in s) for s in row]
print(filtered_row)
结果(所有奇怪的字符都已替换为点):
['aaaaa . bbbbb', 'foo']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)