python csv文件打开错误:_csv.Error: line contains NULL byte

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python csv文件打开错误:_csv.Error: line contains NULL byte相关的知识,希望对你有一定的参考价值。

正常的csv文件读取如下:

#coding:utf-8
import csv
csvfilename = demo.csv


print u################获取某一行
with open(csvfilename, rb) as csvfile:
    reader = csv.reader(csvfile)
    rows = [row for row in reader]
print rows[0], rows[1], rows[2], rows[3]

print u################获取某一列
with open(csvfilename,rb) as csvfile:
    reader = csv.reader(csvfile)
    column0 = [row[0] for row in reader]
with open(csvfilename, rb) as csvfile:
    reader = csv.reader(csvfile)
    column1 = [row[2] for row in reader]

print column0, column1
s = [1,2,3]
for i in column0:
    print type(i)
# print u‘sum:‘,sum(column0)
new_column0 = column0.pop(0)
print u删除的元素为:, new_column0
print u删除后的列表:, column0
print type(column0)
for i in column0:
    print type(i)

 

读取一个技术分享   ucs-2 le 格式(notepa++打开csv)的csv就会报错:  Python CSV error: line contains NULL byte   参考了这个文章里面的内容

https://stackoverflow.com/questions/4166070/python-csv-error-line-contains-null-byte

技术分享

 

代码如下:

#coding:utf-8
import csv
import codecs

twsfilename = "tws.csv"

#读取行
print u################获取某一行
with codecs.open(twsfilename, rb, "utf-16") as csvfile:
    reader = csv.reader(csvfile)
    column1 = [row[0] for row in reader]
    print column1[0]

print u################获取某一列
with codecs.open(twsfilename, rb, "utf-16") as csvfile:
    reader = csv.reader(csvfile, delimiter=\\t)
    reader.next()#向下跳一行 这行可以注释掉  主要为了去掉标题行
    column1 = [row[1] for row in reader]
    print column1
    print max(column1)

 

最后感谢大神  参考了很多都搞不定 什么.replace(‘\\0‘,‘‘)啊 另存啊 都搞不定  给你几百个这种csv你难道一个个另存啊!

 

以上是关于python csv文件打开错误:_csv.Error: line contains NULL byte的主要内容,如果未能解决你的问题,请参考以下文章

从 zip 打开文件而不用 Python 解压?

将 .csv 文件从 URL 读取到 Python 3.x - _csv.Error:迭代器应返回字符串,而不是字节(您是不是以文本模式打开文件?)

python写入csv文件多一行

Python实现对csv的批量处理并保存

Python实现对csv的批量处理并保存

在Google Cloud中部署Python App时如何处理打开文件的路径?