Python拆分Excel文件数据以及与拆分列的数据一一对应

Python拆分Excel文件数据以及与拆分列数据一一对应

读取到Excel文件的数据:

    CITY    COUNTY   TOWN   是否                   AOL                                                                AVGPON
0   贵港    桂平县  江口镇  False             贵港桂平市江口镇-AOL001-ZX-C300||贵港桂平市江口镇-AOL002-ZX-C600    贵港桂平市江口镇-AOL001-ZX-C300/1-12-10||贵港桂平市江口镇-AOL001-ZX-C300/1-13-12||贵港桂平市江口镇-AOL001-ZX-C300/1-13-7||贵港桂平市江口镇-AOL002-ZX-C600/1-3-1||贵港桂平市江口镇-AOL002-ZX-C600/1-3-2||贵港桂平市江口镇-AOL002-ZX-C600/1-5-7||贵港桂平市江口镇-AOL002-ZX-C600/1-5-8

需求:需要把AOL和AVGPON的内容以"||"分列,并要与AOL和AVGPON的数据一一对应。
效果如下:

    CITY    COUNTY   TOWN   是否                   AOL                                 AVGPON
0   贵港    桂平县  江口镇  False             贵港桂平市江口镇-AOL001-ZX-C300    贵港桂平市江口镇-AOL001-ZX-C300/1-12-10
0   贵港    桂平县  江口镇  False             贵港桂平市江口镇-AOL001-ZX-C300    贵港桂平市江口镇-AOL001-ZX-C300/1-13-12
0   贵港    桂平县  江口镇  False             贵港桂平市江口镇-AOL001-ZX-C300    贵港桂平市江口镇-AOL001-ZX-C300/1-13-7
0   贵港    桂平县  江口镇  False             贵港桂平市江口镇-AOL002-ZX-C600    贵港桂平市江口镇-AOL002-ZX-C600/1-3-1
0   贵港    桂平县  江口镇  False             贵港桂平市江口镇-AOL002-ZX-C600    贵港桂平市江口镇-AOL002-ZX-C600/1-3-2
0   贵港    桂平县  江口镇  False             贵港桂平市江口镇-AOL002-ZX-C600    贵港桂平市江口镇-AOL002-ZX-C600/1-5-7
0   贵港    桂平县  江口镇  False             贵港桂平市江口镇-AOL002-ZX-C600    贵港桂平市江口镇-AOL002-ZX-C600/1-5-8

Python代码实现

import pandas as pd

# 读取原始数据文件
data = pd.read_excel('AVGPON口信息.xlsx', sheet_name='0', header=1)#跳过第一行合并的表头
# 创建DataFrame
df = pd.DataFrame(data)

# 新建空列表用于存储转换后的数据
new_data = []

# 对每一行进行处理
for _, row in df.iterrows():
    olt_list = str(row['AOL']).split('||')
    pon_list = str(row['AVGPON']).split('||')
    # 对每个AOL进行处理
    for olt in olt_list:
        # 找到对应的AVGPON信息
        matching_pon = [pon for pon in pon_list if olt in pon]
        # 创建新的数据行
        for pon in matching_pon:
            new_row = row.copy()
            new_row['AOL-NEW'] = olt
            new_row['AVGPON-NEW'] = pon
            # 添加到新的数据列表
            new_data.append(new_row)

# 创建新的DataFrame
new_df = pd.DataFrame(new_data)

# 打印结果
print(new_df)
new_df.to_excel('0100-Sheet2.xlsx', sheet_name='0')

相关推荐

  1. 使用 python excel 文件

    2023-12-08 07:26:01       16 阅读
  2. python-pdf合并

    2023-12-08 07:26:01       16 阅读
  3. pythonexcel第七节 工作簿

    2023-12-08 07:26:01       14 阅读
  4. VBA Excel各sheet为文件

    2023-12-08 07:26:01       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 07:26:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 07:26:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 07:26:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 07:26:01       18 阅读

热门阅读

  1. TCP通讯

    TCP通讯

    2023-12-08 07:26:01      37 阅读
  2. arXiv学术速递笔记12.6

    2023-12-08 07:26:01       26 阅读
  3. dorker使用一

    2023-12-08 07:26:01       41 阅读
  4. 云主机存储类型、AZ讲解

    2023-12-08 07:26:01       35 阅读
  5. 对于React的了解与认识

    2023-12-08 07:26:01       38 阅读
  6. 基于MapBox的方法封装及调用

    2023-12-08 07:26:01       33 阅读
  7. json转yolo格式

    2023-12-08 07:26:01       38 阅读
  8. Vue 防止页面闪烁 v-cloak

    2023-12-08 07:26:01       36 阅读
  9. 深度学习毕设思路--yolov5的使用方法

    2023-12-08 07:26:01       35 阅读
  10. 业务增长产品经理常用的ChatGPT通用提示词模板

    2023-12-08 07:26:01       41 阅读
  11. Glide系列-活动缓存和内存缓存

    2023-12-08 07:26:01       28 阅读