我是Python的新手,我尝试使用熊猫读取大型.csv文件(包含数十万或几百万行;以及大约15.000列)。
我想我可以做的是在所有块中迭代地创建和保存每个块到新的.csv文件中。我目前使用的笔记本电脑内存相对有限(在升级过程中约为4 Gb),但我想知道是否可以在不更改设置的情况下做到这一点。另外,我可以在具有较大RAM的PC中传输此过程并尝试使用更大的块,但是即使是较短的行块,我也希望将其安装到位。
我看到我可以使用下面的代码快速处理数据块(例如10.000行和所有列)。但是由于我是Python初学者,所以我只设法订购了第一块。我想跨块迭代循环并保存它们。
import pandas as pd
import os
print(os.getcwd())
print(os.listdir(os.getcwd()))
chunksize = 10000
data = pd.read_csv('ukb35190.csv', chunksize=chunksize)
df = data.get_chunk(chunksize)
print(df)
export_csv1 = df.to_csv (r'/home/user/PycharmProjects/PROJECT/export_csv_1.csv', index = None, header=True)
答案 0 :(得分:1)
如果您不对数据进行任何处理,那么您甚至不必将其存储在任何变量中。您可以直接进行处理。下面的PFA代码。希望对您有帮助。
import pandas as pd
import os
chunksize = 10000
batch=1
for chunk in pd.read_csv(r'ukb35190.csv',chunksize=chunk_size):
chunk.to_csv(r'ukb35190.csv'+str(batch_no)+'.csv',index=False)
batch_no+=1