Python 3-'_csv.错误:行包含空值';读取csv文件时出现错误字节
我正在尝试读取包含NUL的csv文件 使用csv阅读器 我搜索了很多方法来读取文件没有错误,但找不到一个 编辑: 添加文件的相关部分: 我的代码:Python 3-'_csv.错误:行包含空值';读取csv文件时出现错误字节,python,python-3.x,csv,Python,Python 3.x,Csv,我正在尝试读取包含NUL的csv文件 使用csv阅读器 我搜索了很多方法来读取文件没有错误,但找不到一个 编辑: 添加文件的相关部分: 我的代码: with codecs.open(log_path, 'r') as csv_file: log_reader = csv.DictReader(csv_file) for line in log_reader: if line['Addition Information'] == st
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(因此也)无法处理包含空字节的文件
一种可能的解决方案是在读取输入文件时替换空字节,例如使用生成器表达式,因为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
(因此也)无法处理包含空字节的文件
一种可能的解决方案是在读取输入文件时替换空字节,例如使用生成器表达式,因为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
尝试按如下方式修改代码:
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
尝试按如下方式修改代码:
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
你能发布你的CSV吗?我添加了一个到相关部分的链接你能发布你的CSV吗?我添加了一个到相关部分的链接工作得很好!现在速度稍微慢了一点,但已经成功了,非常感谢!这对我也有用。谢谢,是的,看起来有点慢。但是很好,很好!现在速度稍微慢了一点,但已经成功了,非常感谢!这对我也有用。谢谢,是的,看起来有点慢。但是很好。