首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python :行包含新_csv.Error文件的NUL

Python :行包含新_csv.Error文件的NUL
EN

Stack Overflow用户
提问于 2021-10-17 14:45:14
回答 1查看 294关注 0票数 -1

我试图以csv格式打印"the file“中的一些记录,但它总是在标题中显示错误。是的,我尝试使用notepad++将编码更改为utf8、utf-16以及utf-16-le。它还是不能工作。请帮助:c

这是输入代码:

代码语言:javascript
运行
复制
import csv
f=open("thefile.csv", 'r', encoding="ansi")
reader=csv.reader(f)
covaxin=0
covishield=0


c1="Covaxin"
c2="Covishield"
a="41 - 60 years"


for row in reader:
   if (row[3]==a):
      for bro in reader:
         if (bro[4]==c1):
            covaxin+=1
            print("Covaxin: ", covaxin)
         elif (bro[4]==c2):
            covishield+=1
            print("Covishield:", covishield)
         else:
            print("error")
         

f.close()  

这是输出:

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "C:\Users\admin\Desktop\Reader Program.py", line 13, in <module>
    for row in reader:
_csv.Error: line contains NUL
EN

回答 1

Stack Overflow用户

发布于 2021-10-17 15:19:24

该错误消息表示cvs模块正在从文件中读取NUL字符,即代码为0的字符。最明显的原因是文件实际上包含这样的字符(这意味着文件已损坏),或者文件是使用16位编码(例如UTF-16)编码的,但您正在使用8位编码读取它(假设文件保持使用英语字母表,这将使每隔一秒的字符成为NUL字符)。您必须找出文件采用的编码方式,并为open提供适当的参数。要检查是否存在NUL字符,即使选择了正确的编码,也可以将整个文件作为字符串读取,并使用Python的字符串操作函数来搜索'\u0000'字符。

This thread有几个可能有用的代码片段和提示,可用于查看文件中的内容。

有趣的是,在Python的未来版本中,它看起来像是这个error will be gone

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69605449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档