Python pandas从CSV文件中获取指定的行

时间:2015-10-29 00:36:49

标签: python csv pandas

我正在尝试使用python中的pandas从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 个答案:

答案 0 :(得分: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