python比对大型数据excel,怎么办?

查看 65|回复 5
作者:wangwei0511   
1.我有一个表A(10万行左右)
2.我有四个表BCDE,每个一百万行左右(字段相同,数据唯一)
3.用A表的A列的数据 去匹配表BCDE的H行数据,如果匹配到,就把该行数据写入的A表对应的行的后面。
4.我用传统的方法,写的 运行太慢了,有没有好的方法,AI生成的回答,就不用回答了,我也会用ai。

数据, 比对

wjbg2022   

数据量大就不要用excel,用数据库,个人感觉py的速度还不如vba!你可以了解一下SQL!
Batcher   

这么大的数据量,不管用Excel还是Access,效率估计都不高。
干脆下决心转成其他关系型数据库。
lisongmei   

可以试一下python的pandas库的merge方法。由于没有处理过大量数据,不知快慢。你可以试下
BoyInTheSun   

把你需要比对的数据存为set或者dict,不要用list,因为前者的实现是哈希表,时间复杂度O(1),list时间复杂度O(n)
echo2012   

1. 读取bcde文件中的数据,然后生成md5值,将这些md5值放入dict1中,key就是md5值,value是内容
2. 循环遍历a文件,按行生成md5,判断是否在dict中,如果存在,就将a放入新的dict2中,key是md5值,value是合并后的内容
3. 最后将dict2的values写入新文件即可;
前提是你的value不能很大,如果value很大,那么dict1中的value就只能存放文件名称,行数;在步骤3中再去做聚合;因为文件a中只有10w,处理起来应该很快
您需要登录后才可以回帖 登录 | 立即注册

返回顶部