Python拆分Excel文件数据以及与拆分列的数据一一对应
2023-12-14 20:32:59
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')
文章来源:https://blog.csdn.net/qq_43001132/article/details/134856093
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!