我们经常会遇到需要将两张Excel或Csv数据表通过sheet中关键字或者列名进行关联,从而匹配对应数据的情况。使用Excel的Vlookup函数可以解决这个问题,但当数据量较大时,容易导致计算机无响应,甚至出现数据丢失。此外,处理速度较慢也是Excel的软肋。而Python只需几行代码就能轻松实现,而且处理速度快。下面详细介绍一下。
具体需求如下:
根据sqm20230529.csv文件中的SUBSCRIBERID列,去VRS20230529.csv文件中查找SUBSCRIBERID列,如果能匹配相同的数据,则将中的PAIDUSERID列插入到sqm20230529.csv中的最后一列,PAIDUSERID为新增的一列。最后合并输出为result.csv文件
1、处理前表sqm20230529.csv格式如下数据:
2、处理前表VRS20230529.csv格式如下数据:
3、合并后result.csv结果如下:
4、 实现代码如下:
import pandas as pd
# 读入表sqm20230529
df1 = pd.read_csv('C:\\Users\JH\\Desktop\\20230529\\sqm20230529.csv', encoding='utf-8')
# 读入表VRS20230529
df2 = pd.read_csv('C:\\Users\JH\\Desktop\\20230529\\VRS20230529.csv', encoding='gbk')
# 关联数据
data = df1.merge(df2, on='SUBSCRIBERID',left_index=False, right_index=False, sort=False)
# 保存数据
data.to_csv('C:\\Users\JH\\Desktop\\20230529\\result.csv', encoding='gbk',index=False)