为什么我使用pandas读取csv文件的对象是TextFileReader对象

时间:2017-01-25 06:01:12

标签: python pandas

我使用pandas读取了一个csv文件:

data_raw = pd.read_csv(filename, chunksize=chunksize)
print(data_raw['id'])

然后,它报告TypeError:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'TextFileReader' object has no attribute '__getitem__'

我该怎么做才能解决问题?如何将data_raw更改为dataFrame对象? 我使用python2.7和pandas v0.19.1

2 个答案:

答案 0 :(得分:5)

当您将TextFileReader选项传递给Recyclerview时,它会创建一个<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:orientation="vertical"> <android.support.v7.widget.RecyclerView android:id="@+id/rvDisplay" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp"> </android.support.v7.widget.RecyclerView> </LinearLayout> 读取器 - 一个类似开放文件的对象,可用于以块的形式读取原始文件。请参阅此处的使用示例:How to read a 6 GB csv file with pandas 如果未提供此选项,则该函数确实会读取文件内容。

答案 1 :(得分:1)

解决此问题的方法是在nrows函数中设置pd.read_csv()参数,这样就可以选择要加载到数据框中的数据子集。当然,缺点是您无法查看和使用完整数据集。代码示例:

data = pd.read_csv(filename, nrows=100000)