为了账号安全,请及时绑定邮箱和手机立即绑定

Python CSV错误:行包含NULL字节

Python CSV错误:行包含NULL字节

料青山看我应如是 2019-12-12 10:09:10
我正在使用以下代码处理一些CSV文件:reader = csv.reader(open(filepath, "rU"))try:    for row in reader:        print 'Row read successfully!', rowexcept csv.Error, e:    sys.exit('file %s, line %d: %s' % (filename, reader.line_num, e))一个文件引发此错误:file my.csv, line 1: line contains NULL byte我能做什么?Google似乎建议它可能是Excel文件,未正确保存为.csv。有什么办法可以解决Python中的这个问题?==更新==在下面@JohnMachin的评论之后,我尝试将以下行添加到脚本中:print repr(open(filepath, 'rb').read(200)) # dump 1st 200 bytes of filedata = open(filepath, 'rb').read()print data.find('\x00')print data.count('\x00')这是我得到的输出:'\xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1\x00\x00\x00\x00\x00\x00\x00\x00\ .... <snip>813834因此该文件确实包含NUL字节。
查看完整描述

3 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

将其读取为UTF-16也是我的问题。


这是我的代码,最终起作用了:


f=codecs.open(location,"rb","utf-16")

csvread=csv.reader(f,delimiter='\t')

csvread.next()

for row in csvread:

    print row

其中location是您的csv文件的目录。



查看完整回答
反对 回复 2019-12-13
?
米脂

TA贡献1836条经验 获得超3个赞

我也遇到了这个问题。使用Python csv模块,我试图读取在MS Excel中创建的XLS文件,NULL byte并遇到遇到的错误。我环顾四周,发现了xlrd Python模块,用于从MS Excel电子表格文件读取和格式化数据。使用该xlrd模块,我不仅能够正确读取文件,而且还可以以前所未有的方式访问文件的许多不同部分。


我认为这可能对您有帮助。



查看完整回答
反对 回复 2019-12-13
  • 3 回答
  • 0 关注
  • 403 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号