我使用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
答案 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)