首页 > 解决方案 > Python DictReader 中的“错误:行包含 NULL 字节”

问题描述

尝试读取 CSV 列并将其转换为 Python 中的字典列表时,出现以下错误“错误:行包含 NULL 字节”。

我关注的列表包含 NULL 字节,CSV DictReader但这似乎不适用于我编写的代码。

import pandas as pd
import csv
from collections import defaultdict

columns = defaultdict(list) 

with open('file.csv') as f:
    reader = csv.DictReader(f) 
    for row in reader: 
        for (k,v) in row.items(): 
            columns[k].append(v) 
                                 

keywords = print(columns['Keyword'])

任何帮助,将不胜感激!谢谢。

标签: pythoncsv

解决方案


如您所见,问题是空行/单元格。您提到的链接将 '\0' 替换为虚拟字符串 ''

'file.csv' 中是否还有其他导致此错误的内容?你能先检查一下它的内容吗?我相信你得到的错误需要用虚拟字符串替换一些其他有问题的字符串''

更简单的方法是打印所有唯一字符并检查是否有问题字符串,如 '\0'、'\0\0'、'\0,\0' 等

如果您只想将列转换为列表,您可以尝试以下操作:

df = pd.read_csv("file.csv")
df["Keyord"].tolist()

推荐阅读