我正在尝试使用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'>
有什么方法可以采用不同的块然后从它们重建矩阵或稀疏矩阵?
答案 0 :(得分:1)
当你使用read_csv
时,你需要阅读整个文件,你无法阅读它的一部分。
当归结为chunksize
时,您需要获取wow
和concat()
下列出的“块”。
例如:
chunks = pd.read_csv(data, chunksize = 100)
df = pd.concat(chunks, ignore_index=True)
现在你有一个完整的数据框,你可以做任何你需要做的分析。
它也是一个可迭代的对象,因此您可以执行以下操作:
for chunk in chunks:
#do something to each chunk