在此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
答案 0 :(得分:0)
readlines
是文件对象的方法,但不是numpy数组的方法。请关注pandas documentation,了解如何使用它。如果你想逐行读取csv文件,那么使用pandas是没有用的。你可以坚持open
方法。
content = []
with open('data1.csv') as fp:
content = fp.readlines()
这在您的情况下已经足够了,现在列表content
包含您文件的所有行。