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')
相关推荐
用户27784491049932 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python
JavaEdge在掘金4 小时前
ssl.SSLCertVerificationError报错解决方案
python
我不会编程5555 小时前
Python Cookbook-5.1 对字典排序
开发语言·数据结构·python
李少兄5 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
老歌老听老掉牙5 小时前
平面旋转与交线投影夹角计算
python·线性代数·平面·sympy
满怀10155 小时前
Python入门(7):模块
python
无名之逆5 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
你觉得2055 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
似水এ᭄往昔5 小时前
【C语言】文件操作
c语言·开发语言
啊喜拔牙5 小时前
1. hadoop 集群的常用命令
java·大数据·开发语言·python·scala