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

news/2024/7/21 6:59:08 标签: python, excel, 开发语言

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

读取到Excel文件的数据:

python">    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的数据一一对应。
效果如下:

python">    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代码实现

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')

http://www.niftyadmin.cn/n/5247488.html

相关文章

Linux at命令详解:定时执行任务

在 Linux 系统中,查看 at 软件包是否已安装,可以使用 rpm -q 命令,如下所示: [rootlocalhost ~]# rpm -q at at-3.1.13-20.el7x86_64 当前系统已经安装 at 软件包,若所用系统未安装,可使用如下命令进行安装…

计算机组成与设计:硬件/软件接口,第五章详细梳理,附思维导图

章节导图 文章目录 章节导图一、存储器技术概要存储器层次:cache和内存存储器层次:辅存局部性原理 二、高速缓存cache访存性能概念:命中与缺失访存阻塞周期数直接映射:块号直接映射:内存地址字段直接映射硬件 有效位直接映射: cac…

基于SpringBoot+Vue学生成绩管理系统前后端分离(源码+数据库)

一、项目简介 本项目是一套基于SpringBootVue学生成绩管理系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目可以直接作为bishe使用。 项目都经过严格调试,确…

【JAVA杂货铺】一文带你走进面向对象编程的构造方法 | Java| 面向对象编程 | (中)

🌈个人主页: Aileen_0v0🔥系列专栏:Java学习系列专栏💫个人格言:"没有罗马,那就自己创造罗马~" 目录 回顾 构造方法 this关键字 面试题 构造方法的类型 下节预告 代码块 🍒回顾 之前我们学习了什么是类 什么是…

《计算机网络-自顶向下》wireShark实验-第二章:http

基本HTTP GET/response交互 我们开始探索HTTP,方法是下载一个非常简单的HTML文件。非常短,并且不包含嵌入的对象。执行以下操作: 启动您的浏览器。启动Wireshark数据包嗅探器,如Wireshark实验-入门所述(还没开始数据包…

关于虚拟机共享文件夹问题

VM:16 Ubuntu:18.04 添加共享文件夹后仍无法显示文件 解决办法 进入/mnt/hgfs目录执行 sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other 解释 /mnt/hgfs/ 是挂载点,我们也可以修改为其它挂载点 -o allow_other 表示普通用…

免费开源-数字孪生城市污水处理平台

智慧城市污水处理平台,基于污水厂三维模型可视化场景,结合物联网IOT、视频监控以及综合运营数据,增加污水处理厂的掌控力度。飞渡科技利用数字孪生技术结合物联网IOT技术,直观展现各污水处理站点的整体建设规模,以及污…

【STM32入门】2.2光线传感器控制蜂鸣器

1.接线 按图接线,正确的接好之后,光纤传感器应当是弱光亮“PWR-LED",强光的时候”PWR-LED"和“DO-LED"两个灯都亮,如果不是这样的有两个方法调整或测试: 1.调整旋钮,可以调节光敏传感器的光…