2015-10-29 118 views
0

我想从使用python中的熊猫的CSV文件中读取一大组数据。我需要将数据拆分成多个部分,因此我想先取一半数据,然后再取另一半数据。Python熊猫获取CSV文件中的指定行

我看到read_csv中有chunksize参数。但是,我似乎无法弄清楚如何在读取它后将它们全部放入矩阵或稀疏矩阵中。

wow = pd.read_csv('TestingCSV.csv', sep=',', header='infer', low_memory=False, chunksize=10, usecols=(range(3, 5))) 

这会返回一个类型:<class 'pandas.io.parsers.TextFileReader'>

什么是走在不同的块,然后重建从他们的矩阵或稀疏矩阵一个可行的办法?

回答

1

当您使用read_csv时,您需要阅读整个文件,但无法阅读它的一部分。

当涉及到chunksize时,您需要采取wowconcat()下列出的那些“块”。

例如:

chunks = pd.read_csv(data, chunksize = 100) 
df = pd.concat(chunks, ignore_index=True) 

所以,现在你有一个完整的数据框,你可以做你需要做的任何分析。

这也是一个迭代的对象,这样你就可以做到以下几点:

for chunk in chunks: 
    #do something to each chunk 
+0

非常感谢你。 我错过了这个部分:ignore_index = True – JahKnows

+1

去团队合作!很高兴它解决了。 – Leb