我想从我的数字表中读取一些数据。第一行是“标题”行,包含每列的名称,每隔一行包含数据。 我在python中编写了一个简单的程序来读取它,但每当我运行这段代码时,我得到:
File "dataReader.py", line 11, in <module>
for row in fileReader:
_csv.Error: line contains NULL byte
我试图编码每一行,但它没有帮助。 下面我通过我的代码(在这一个我没有调用utf_8_encoder函数,但即使我尝试使用它 - 我仍然有错误)。 我想从我的文件中逐行读取,并将其作为字符串读取。 我怎么能这样做?
import csv
import codecs
def utf_8_encoder(unicode_csv_data):
for line in unicode_csv_data:
yield line.encode('utf-8')
if __name__ == "__main__":
dataFile = open("file.numbers", 'rU')
fileReader = csv.reader(dataFile)
for row in fileReader:
print row
这也是我的文件示例:
答案 0 :(得分:2)
您已将文件另存为.numbers
文件,而不是CSV文件。 csv模块用于读取CSV(逗号分隔值)文件,无法解释.numbers
文件。
要使您的程序正常运行,请将数据保存为CSV文件。