Python上的Python:从数字文件读取时出错

时间:2015-04-17 22:11:40

标签: python macos python-2.7

我想从我的数字表中读取一些数据。第一行是“标题”行,包含每列的名称,每隔一行包含数据。 我在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 

这也是我的文件示例: enter image description here

1 个答案:

答案 0 :(得分:2)

您已将文件另存为.numbers文件,而不是CSV文件。 csv模块用于读取CSV(逗号分隔值)文件,无法解释.numbers文件。

要使您的程序正常运行,请将数据保存为CSV文件。