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')
相关推荐
香蕉可乐荷包蛋18 分钟前
Python面试问题
开发语言·python·面试
ErizJ28 分钟前
Golang|分布式索引架构
开发语言·分布式·后端·架构·golang
.生产的驴28 分钟前
SpringBoot 接口国际化i18n 多语言返回 中英文切换 全球化 语言切换
java·开发语言·spring boot·后端·前端框架
界面开发小八哥33 分钟前
智能Python开发工具PyCharm v2025.1——AI层级功能重磅升级
ide·人工智能·python·pycharm·开发工具
八股文领域大手子37 分钟前
深入浅出限流算法(三):追求极致精确的滑动日志
开发语言·数据结构·算法·leetcode·mybatis·哈希算法
啊阿狸不会拉杆1 小时前
人工智能数学基础(一):人工智能与数学
人工智能·python·算法
蹦蹦跳跳真可爱5891 小时前
Python----卷积神经网络(卷积为什么能识别图像)
人工智能·python·深度学习·神经网络·计算机视觉·cnn
geovindu1 小时前
PyCharm 2023升级2024 版本
ide·python·pycharm
几度泥的菜花1 小时前
优雅实现网页弹窗提示功能:JavaScript与CSS完美结合
开发语言·javascript·css
weixin_307779131 小时前
AWS Glue ETL设计与调度最佳实践
开发语言·数据仓库·云计算·etl·aws