【问题标题】:list contains NULL byte, CSV DictReader列表包含 NULL 字节,CSV DictReader
【发布时间】:2019-03-09 12:16:10
【问题描述】:

如何使用 DictReader 方法删除 NULL 字节?以下代码产生错误为 错误:行包含 NULL 字节

with open('excelfile.csv', 'r', encoding="ISO-8859-1") as file:

reader = csv.DictReader(file, fieldnames=('BANK','IFSC', 'BRANCH', 'ADDRESS'))
for row in reader: 
    frame = {'bank': row['BANK'], 'ifsc': row['IFSC'], 'branch': row['BRANCH'], 'address': row['ADDRESS'] } 
    framelist.append(frame) 

【问题讨论】:

  • Edit 你的问题并显示一行 "NULL byte"
  • 您的编码可能有误,可能是utf16?

标签: python csv


【解决方案1】:

您可以用空字符串替换您的 NULL 字节。像这样:

 reader = csv.DictReader(x.replace('\0', '') for x in file)

例子:

with open('excelfile.csv', 'r', encoding="ISO-8859-1") as file:

   reader = csv.DictReader(x.replace('\0', '') for x in file)
   for row in reader: 
     frame = {'bank': row['BANK'], 'ifsc': row['IFSC'], 'branch': row['BRANCH'], 'address': row['ADDRESS'] } 
     framelist.append(frame) 

【讨论】:

  • 如果输入中有NULL字节,很有可能是编码错误。 encoding=utf16 更有可能是解决方案。
猜你喜欢
  • 2020-09-18
  • 2021-12-17
  • 1970-01-01
  • 2011-12-15
  • 2020-09-21
相关资源
最近更新 更多