' numpy.ndarray'对象没有属性' readlines'

时间:2017-07-13 04:00:46

标签: python csv pandas numpy readline

在此Pandas数据帧代码中:

import pandas as pd

df=pd.read_csv('data1.csv')
data= np.array(df)
ines = data.readlines()

我遇到了这个错误:

----> 5 lines = f2.readlines()
AttributeError: 'numpy.ndarray' object has no attribute 'readlines'

出了什么问题?

我只是希望能够使用此功能读取csv文件:

def file2mat(test_filename, para_num):
    fr = open(test_filename)
    #data= pd.read_csv(test_filename)
    #data= pd.read_csv(io.StringIO(u"" +    data.to_csv(header=None,index=False)), header=None)
    #fr= data.values
    lines = fr.readlines()
    print lines
    line_nums = len(lines)
    result_mat = np.zeros((line_nums, para_num))  
    class_label = []
    for i in range(line_nums):
        line = lines[i].strip()
        item_mat = line.split(',')
        result_mat[i, :] = item_mat[: para_num]
        class_label.append(item_mat[-1])  class_label
    fr.close()
    return result_mat, class_label

1 个答案:

答案 0 :(得分:0)

readlines是文件对象的方法,但不是numpy数组的方法。请关注pandas documentation,了解如何使用它。如果你想逐行读取csv文件,那么使用pandas是没有用的。你可以坚持open方法。

content = []
with open('data1.csv') as fp:
    content = fp.readlines()

这在您的情况下已经足够了,现在列表content包含您文件的所有行。