python csv error: line contains null byte

Python的csv包固有问题
实践证明,当使用csv读取文件时,一旦文件里包含了’\0’或则’\x00’这种字符串时,会报错显示‘line contains null byte’。

一部分原因是文件中本身就存在这样的字符串,另一可能原因是该csv文件是从excel文件转换而来的,那么简单的处理的方式就是重新保存成csv。

如果不想修改文件,就需要将这些可能的null byte抽取掉。以下代码:

        with open(path, 'r', encoding="UTF8") as f:
            reader = csv.reader((line.replace('\0', '') for line in f), delimiter=",")
            for row in reader:
                print(row)
posted @ 2021-12-08 22:28  RabbitJwr  阅读(1815)  评论(0编辑  收藏  举报