我试图读取一个大的CSV文件(aprox. 4 GB)在Pandas和我得到一个内存错误:
我有大约20-30 CSV文件在那里,每一个文件约277738行.
import glob
import pandas
folder_path = 'train/operations-data'
file_list = glob.glob(folder_path + "/*.csv")
main_df=pd.DataFrame(pd.read_csv(file_list[0]))
for i in range(1, len(file_list)):
data = pd.read_csv(file_list[1])
df=pd.DataFrame(data)
main_dataframe = pd.concat([main_df,df],axis = 1)
print(main_df)
有人帮忙吗?
1条答案
按热度按时间kt06eoxx1#
处理大型CSV文件时,如果尝试一次将整个文件加载到内存中,可能会出现内存错误。要避免这种情况,请修改代码,以较小的块读取和处理CSV文件。
在
pd.read_csv()
中使用chunksize参数的示例:chunk-size参数设置为(例如,10000),它适合您的内存容量。根据您的可用资源调整此值。
pd.read_csv()
不是一次将整个CSV文件加载到内存中,而是分块读取文件。每个块都存储在dfs列表中。
pd.concat()
用于将所有块连接到单个 Dataframe (main_df)中。