python_excel列表单元格字符合并、填充、复制操作

读取指定sheet页,根据规则合并指定列,填充特定字符,删除多余的列,每行复制四次,最后写入新的文件中。

python 复制代码
import pandas as pd

"""
读取指定sheet页,根据规则合并指定列,填充特定字符,删除多余的列,每行复制四次,最后生成新的文件
"""


# 原文件和sheet页
sheet_name = "电缆一班"
file_path = r"E:\DPI\深圳-南方电网\0107\第二批400平台命名及台账信息_20250107_bak.xlsx"
# 合并后的文件
file_path_merged = (
    r"E:\DPI\深圳-南方电网\0107\第二批400平台命名及台账信息_20250107_bak_11.xlsx"
)

# 读取Excel文件,用converters处理,保留文本类型数字
df = pd.read_excel(file_path, sheet_name=sheet_name, converters={"SIM卡号": str})

# 合并列'column4'和'column42'到'column4'
column4 = "四级目录"
column42 = "四级目录Ⅰ"
df[column4] = df[column4].astype(str) + "-" + df[column42].astype(str)

# 对列进行处理,如果单元格以"#"开头,则添加"接头"
column5 = "五级目录"
df[column5] = df[column5].apply(lambda x: x + "接头" if str(x).startswith("#") else x)

# 对列进行处理,如果单元格不以"线"结尾,则添加"线"
column3 = "三级目录"
# df[column3] = df[column3].apply(lambda x: x + "线" if not str(x).endswith("线") else x)

# 合并列'column2'、'column3'、'column5'到'column6'
column2 = "二级目录"
column6 = "六级目录"
df[column6] = (
    df[column2].astype(str)
    + df[column3].astype(str)
    + df[column5].astype(str)
    + "小号侧"
)

# 删除指定列'column42'
df.drop(column42, axis=1, inplace=True)

# 创建一个新的数据帧来存储重复的行
df_repeated = pd.DataFrame(df.loc[:].values.repeat(4, axis=0), columns=df.columns)

# 保存到新的Excel文件
df_repeated.to_excel(file_path_merged, sheet_name=sheet_name, index=False)

print("done")
相关推荐
芙莉莲教你写代码10 分钟前
腾讯云AI代码助手编程挑战赛——贪吃蛇小游戏
java·vscode·python·学习·腾讯云ai代码助手
deephub29 分钟前
面向强化学习的状态空间建模:RSSM的介绍和PyTorch实现
人工智能·pytorch·python·深度学习·强化学习
2013crazy2 小时前
Python 基于 opencv 的人脸识别监控打卡系统(源码+部署)
开发语言·python·opencv·python 人脸识别·python 人脸识别打卡
常政2 小时前
零基础学编程 | 2025年 Python 安装、调试保姆级教程
python·入门教程·python编程·零基础学编程·python安装·vscode安装
pzx_0012 小时前
【集成学习】Bagging算法详解及代码实现
python·算法·机器学习·集成学习
2301_822703203 小时前
腾讯云AI代码助手编程挑战赛-随机数字小游戏
python·腾讯云ai代码助手
pumpkin845143 小时前
TensorFlow 介绍
人工智能·python·tensorflow
Lucky_Turtle3 小时前
Python requests库过指纹检测
开发语言·python
明晚十点睡3 小时前
校园网断网自检测重链接
python
麦田里的稻草人w4 小时前
【pyqt】(八)ui文件使用
python·ui·pyqt