m0_75261922 2022-12-26 22:18 采纳率: 75%
浏览 129
已结题

python excel 批量替换

想实现如下功能:
读取如下表格,将代码一列进行文字替换,如第一行、第二行、第三行均替换为“张三”,第四行替换为“李四”。
注意:列表行数只是举例,实际会有N多行,如用replace一个个处理不现实吧,求好方法。(另外,需要替换的代码数字如需要也是可以单独提取出来的,比如有100行代码需要替换为张三,这100行代码数字都可以保存至excel中的)。

序号代码
13425298909160
23425299502235
334253196711220
434252396904216
534252196803194
632342342352353
734253119650415
8342531122314
93425312236515
还有很多行还有很多行
序号代码
1张三
2张三
3张三
4李四
5王五
6王五
7王五
8王五
9王五
还有很多行还有很多行

以下截图更新,更好理解些

图1是需要被替换操作的表格

img

图2是对照表

img

需要实现的是将 被替换操作表中的“ID”列的值,对应替换为对照表中的“姓名”列的值,数据很多,只是举例,一条条替换不现实的,有没有批量替换方法。

  • 写回答

10条回答 默认 最新

  • A1358722560 2022-12-27 21:27
    关注

    仔细看了看你的回答,提供了以下方案,可以将两个表拼在一起
    首先是新建两个excel,来模拟你的数据
    number用来存放ID;

    img


    name用来存放姓名:

    img


    然后编写以下代码

    import pandas as pd
    
    path1 = r'C:\Users\ZLY\Desktop\number.xlsx'  ##待替换的表
    path2 = r'C:\Users\ZLY\Desktop\name.xlsx'  ##姓名表
    df1 = pd.read_excel(path1)
    df2 = pd.read_excel(path2)
    df3 = pd.merge(df2, df1, on='ID', how='outer')
    df3.pop("序号")
    print(df3)
    
    

    输出结果为:

    img


    结果显示,该方法可以将 被替换操作表中的“ID”列的值,对应替换为对照表中的“姓名”列的值
    如果能解决问题的话请点已采纳吧~~~~~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

问题事件

  • 系统已结题 1月5日
  • 已采纳回答 12月28日
  • 修改了问题 12月27日
  • 修改了问题 12月26日
  • 展开全部

悬赏问题

  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题