weixin_39721336 2024-01-12 10:34 采纳率: 77.8%
浏览 13
已结题

修改excel内容,写入到另外一个表格中

原始表格长这个样子

本端设备名称 目的IP地址 下一跳地址
1007-M-EOR-01 2001::1,2001::2 2002::22002::3
1007-M-EOR-02 2001::10,2001::20 2002::20
2002::21
1007-M-EOR-03 2001::30,2001::40 2002::4~2002::5

想通过python程序变成下面这样
本端设备名称 目的IP地址 下一跳地址
1007-M-EOR-01 2001::1 2002::2
1007-M-EOR-01 2001::1 2002::3
1007-M-EOR-01 2001::2 2002::2
1007-M-EOR-01 2001::2 2002::3
1007-M-EOR-02 2001::10 2002::20
1007-M-EOR-02 2001::10 2002::21
1007-M-EOR-02 2001::20 2002::20
1007-M-EOR-02 2001::20 2002::21
1007-M-EOR-03 2001::30 2002::4
1007-M-EOR-03 2001::30 2002::5
1007-M-EOR-03 2001::40 2002::4
1007-M-EOR-03 2001::40 2002::5

img

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-01-12 12:15
    关注

    【以下回答由 GPT 生成】

    import pandas as pd
    
    # 读取原始Excel表格
    df = pd.read_excel('原始表格.xlsx')
    
    # 创建一个新的DataFrame,用于存储重新格式化后的内容
    new_df = pd.DataFrame(columns=['本端设备名称', '目的IP地址', '下一跳地址'])
    
    # 遍历原始表格的每一行
    for index, row in df.iterrows():
        device_name = row['本端设备名称']
        destination_ips = row['目的IP地址'].split(',')
        next_hops = row['下一跳地址'].split('~')
    
        # 遍历目的IP地址和下一跳地址的所有可能组合
        for dest_ip in destination_ips:
            for next_hop in next_hops:
                new_row = {'本端设备名称': device_name, '目的IP地址': dest_ip, '下一跳地址': next_hop}
                new_df = new_df.append(new_row, ignore_index=True)
    
    # 将重新格式化的内容写入到另一个Excel表格
    new_df.to_excel('重新格式化的表格.xlsx', index=False)
    

    这个解决方案使用了pandas库来处理Excel表格。首先,我们使用pd.read_excel函数来读取原始Excel表格。然后,我们创建一个新的空DataFrame来存储重新格式化后的内容。

    接下来,我们使用df.iterrows()来遍历原始表格的每一行。在遍历过程中,我们对目的IP地址和下一跳地址进行拆分,得到每一组可能的组合。然后,我们创建一个新的字典,将设备名称、目的IP地址和下一跳地址插入其中,并将该字典添加到新DataFrame中。最后,我们使用new_df.to_excel将新的DataFrame写入到另一个Excel表格中。

    请确保在运行代码之前安装了pandas库,可以使用pip install pandas命令进行安装。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助