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

问题描述 投票:2回答:2

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

这里也是我的文件样本:“在此处输入图像描述”

python macos python-2.7
2个回答
2
投票

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

要使程序正常工作,请将数据另存为CSV文件。


0
投票

如何在python中读取新版本的Mac文件,如.numbers,.key,.pages?

© www.soinside.com 2019 - 2024. All rights reserved.