基于python对两个乱序xlsx表格文件快速映射

本文介绍如何使用Python的Pandas库处理两个Excel文件,当文件中存在相同但排列顺序不同的数据时,通过词这一列进行匹配并更新其他列的值。具体步骤包括读取文件、查找重复值、设置索引并应用映射表。
摘要由CSDN通过智能技术生成

如果两个文件,有重复的数据,但排列顺序不同。数据量庞大时,手动一一映射显然不可能,如何使用python快速将表A的数据与表B的数据基于某列的字段名称进行匹配,映射其他列的数值?

举一个列子,假设目标映射文件如下图所示。我们需要把2020.xlsx文件中对应的词频映射到这一个总文件中,可2020.xlsx文件与总文件顺序不符,不能直接复制。如何快速实现?

代码如下:

import pandas as pd

# 读取两个Excel文件
df_2019 = pd.read_excel('2020.xlsx')
df_competitive = pd.read_excel('词频汇总.xlsx')
print(df_2019.columns)
print(df_competitive.columns)
duplicates = df_2019[df_2019.duplicated(subset='词', keep=False)]
if not duplicates.empty:
    print("关键字段列存在重复值:")
    print(duplicates)
else:
    print("关键字段列无重复值")

assert '词' in df_2019.columns and '对应频次' in df_2019.columns
assert '词' in df_competitive.columns and '2020年' in df_competitive.columns


df_map = df_2019[['词', '对应频次']].set_index('词')

df_competitive['2020年'] = df_competitive['词'].map(df_map['对应频次'])

df_competitive['2020年'].fillna(0, inplace=True)


df_competitive.to_excel('映射后.xlsx', index=False)

同2020年数据的映射方式,将五年表格数据分别映射到汇总后的文件中,映射后效果如下:

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值