扫码关注官方订阅号
1.给一个方便理解的小例子A文件.小明 香蕉小刚 苹果小美 黄瓜B文件.小六 小明 小美老王
输出:小六小明 香蕉老王小美 黄瓜
大神快来解答~python,java,c语言都行
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
在Excel中直接用公式就可以了
在B表的选择B1,输入“=HLOOKUP(A1,A!$A$1:$B$1000,2)”,按回车。
你需要先装这么几个modules
pip install pandas xlrd xlsxwriter
就你问题的举例, a.xlsx以及b.xlsx我放在本地G盘
然后上码
import pandas as pd df1 = pd.read_excel("g:/a.xlsx", header=None) df2 = pd.read_excel("g:/b.xlsx", header=None) dic = dict(df1.get_values()) lst = (i[0] for i in df2.get_values()) new_dic = {} for i in lst: if i in dic: new_dic[i] = dic[i] else: new_dic[i] = None print(new_dic) df = pd.DataFrame.from_dict(new_dic, orient='index') writer = pd.ExcelWriter('out.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name="Sheet1", header=None) writer.save() # 输出 # {'小六': None, '老王': None, '小明': '香蕉', '小美': '黄瓜'}
最终out.xlsx结果如图
解决思路就是把a中的两列按key-value组成一个dict, 然后用b列中的key去索引a中的value, 取不到的留空, 然后把新组合成的dict写入到excel文件中
pip install pandas xlrd xlsxwriter openpyxl import pandas as pd afile = "E:\\logs\\a.xlsx" bfile = "E:\\logs\\b.xlsx" dfa = pd.read_excel(afile, 0, header=None) dfb = pd.read_excel(bfile, 0, header=None) dfc = pd.merge(dfa, dfb, how="inner", on=0) dfd = pd.merge(dfb, dfc, how="outer", on=0) dfd.to_excel(bfile, header=False, index=False)
注意,是内存操作,一般的文件是没问题的,相比下 性能较高。大文件 可以分别取出 第一列,然后求交集,再填充值,再写文件。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
在Excel中直接用公式就可以了
在B表的选择B1,输入“=HLOOKUP(A1,A!$A$1:$B$1000,2)”,按回车。
你需要先装这么几个modules
就你问题的举例, a.xlsx以及b.xlsx我放在本地G盘
然后上码
最终out.xlsx结果如图
注意,是内存操作,一般的文件是没问题的,相比下 性能较高。大文件 可以分别取出 第一列,然后求交集,再填充值,再写文件。