无法使用Python检索特定列中的数据

时间:2014-09-18 21:27:54

标签: python pandas

我正在尝试加载一个大小为2GB的大文本文件并尝试使用pandas在特定列中提取数据

LOCATION_ID                    PRODUCT_ID  PRODUCT_DESC                   NET_SALES                         SALES_DATE
------------------------------ ----------- ------------------------------ --------------------------------- ----------
100020                                   8 Lotto Texas                                                8.000 01/01/2009
100020                                   9 Pick 3                                                   105.500 01/01/2009
100020                                  10 Cash Five                                                  7.000 01/01/2009
100020                                  12 Texas Two Step                                            

数据看起来像我要做的是提取位置ID中唯一列的数量

我尝试使用pandas.read_csv(文件,chunksize = 4)但我没有在列中获得任何内容只有索引存在。我有点卡住,我能够使用简单的文件读取,但因为文件的大小是如此巨大的python编译器崩溃。如何使用Pandas实现所需的结果?请帮忙

1 个答案:

答案 0 :(得分:1)

该文件看起来不像csv,因为似乎没有任何逗号,它甚至看起来都不是分隔文件。您可能有更好的运气将其视为固定宽度格式的文件并使用read_fwf

>>> pd.read_fwf("296.dat", skiprows=[1])
   LOCATION_ID  PRODUCT_ID    PRODUCT_DESC  NET_SALES  SALES_DATE
0       100020           8     Lotto Texas        8.0  01/01/2009
1       100020           9          Pick 3      105.5  01/01/2009
2       100020          10       Cash Five        7.0  01/01/2009
3       100020          12  Texas Two Step        NaN         NaN

您可以使用chunksizefwf执行相同的read_csv技巧,因此您可以随时限制内存中的数量。

另请注意,这里我只使用了“推断列宽”默认值;您可能需要手动指定它们,具体取决于您的数据。