我正在尝试读取包含NUL的csv文件 与csv阅读器 我搜索了很多方法来读取文件而没有错误,但找不到。
编辑: 添加文件的相关部分: https://drive.google.com/open?id=1rtF3ck6QymtH4_n4iUjavPnxZiryq_Q4
我的代码:
with codecs.open(log_path, 'r') as csv_file:
log_reader = csv.DictReader(csv_file)
for line in log_reader:
if line['Addition Information'] == str
# do something
将不胜感激任何帮助 谢谢, Avishay
答案 0 :(得分:1)
csv.reader()
(因此也csv.DictReader()
)根本无法处理包含空字节的文件。
一种可能的解决方案是在读取输入文件时替换空字节,例如:通过使用生成器表达式,因为reader()
将任何支持迭代器协议的对象作为参数:
with codecs.open(log_path, 'r') as csv_file:
log_reader = csv.DictReader((l.replace('\0', '') for l in csv_file))
for line in log_reader:
if line['Addition Information'] == str
# do something
答案 1 :(得分:0)
尝试修改您的代码:
with codecs.open(log_path, 'r', encoding='utf-8', errors='backslashreplace') as csv_file:
log_reader = csv.DictReader(csv_file)
for line in log_reader:
if line['Addition Information'] == str
# do something