我有两个excel,1个是订单表,大约25万行的样子,一个是产品表,大约2000行;两张表的表头如下图。我想用merge把两个表合并起来,索引是:商品名称;但是每次索引都显示内存不足,请问有什么好的解决方法?

订单表表头,索引值为A列,表格大概26M,25万行-30万行之间;


产品表表头:索引也是A列:



我的代码如下:

import pandas as pd

agent = pd.read_excel('./订单表.xlsx',sheet_name = 0)

cp = pd.read_excel('D:/资料/产品表.xlsx',sheet_name = 0)

agent_cp =pd.merge(agent,cp, on ='商品名称', how = 'left')

agent_cp.to_excel('agent_cp.xlsx')

print('Done')


我试了数据如果少的话不会内存溢出;

笔记本配置:i7 8G内存

openxml(excel2013)的读写框架本来就很占内存.
内存问题是由于你一下子打开文件读取导致的.
很显然你可需要写算法去进行合理的合并.
不妨将数据存入数据库,
用数据库sql语句去进行合理的合并.
毕竟Excel的工作不在于数据量
而在于日常办公

看看这个https://blog.csdn.net/shywang001/article/details/90719398

https://blog.csdn.net/weixin_43064185/article/details/90665301

你是不是合并是不是一对多的关系?
是的话??2020475790