Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3-'_csv.错误:行包含空值';读取csv文件时出现错误字节_Python_Python 3.x_Csv - Fatal编程技术网

Python 3-'_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

我正在尝试读取包含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'] == 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吗?我添加了一个到相关部分的链接工作得很好!现在速度稍微慢了一点,但已经成功了,非常感谢!这对我也有用。谢谢,是的,看起来有点慢。但是很好,很好!现在速度稍微慢了一点,但已经成功了,非常感谢!这对我也有用。谢谢,是的,看起来有点慢。但是很好。