python_excel列表单元格字符合并、填充、复制操作
读取指定sheet页,根据规则合并指定列,填充特定字符,删除多余的列,每行复制四次,最后写入新的文件中。
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")
相关文章:
python_excel列表单元格字符合并、填充、复制操作
读取指定sheet页,根据规则合并指定列,填充特定字符,删除多余的列,每行复制四次,最后写入新的文件中。 import pandas as pd""" 读取指定sheet页,根据规则合并指定列,填充特定字…...
nums[:]数组切片
问题:给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 使用代码如下没有办法通过测试示例,必须将最后一行代码改成 nums[:]nums[-k:]nums[:-k]切片形式: 原因:列表的切片操作 …...
【Arthas 】Can not find Arthas under local: /root/.arthas/lib 解决办法
报错 [INFO] JAVA_HOME: /opt/java/openjdk [INFO] arthas-boot version: 4.0.4 [INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER. [1]: 12 org.springframework.boot.loader.JarLauncher 1 [ER…...
录用率23%!CCF推荐-B类,Early Access即可被SCI数据库收录,中美作者占比过半
International Journal of Human-Computer Interaction(IJHCI)创刊于1989年,由泰勒-弗朗西斯(Taylor & Francis, Inc.)出版,主要发表关于交互式计算(认知和人体工程学)、数字无障…...
IP 地址与蜜罐技术
基于IP的地址的蜜罐技术是一种主动防御策略,它能够通过在网络上布置的一些看似正常没问题的IP地址来吸引恶意者的注意,将恶意者引导到预先布置好的伪装的目标之中。 如何实现蜜罐技术 当恶意攻击者在网络中四处扫描,寻找可入侵的目标时&…...
Vue_API文档
Vue API风格 Vue 的组件可以按两种不同的风格书写:选项式 API(Vue2) 和组合式 API(Vue3) 大部分的核心概念在这两种风格之间都是通用的。熟悉了一种风格以后,你也能够很快地理解另一种风格 选项式API(Opt…...
WebSocket 设计思路
WebSocket 设计思路 1. 核心结构体 1.1 Manager (管理器) // Manager 负责管理所有WebSocket连接 type Manager struct {clients sync.Map // 存储所有客户端连接broadcast chan []byte // 广播消息通道messages chan Message // 消息处理通道config *config.WebSo…...
Jenkins持续集成与交付安装配置
Jenkins 是一款开源的持续集成(CI)和持续交付(CD)工具,它主要用于自动化软件的构建、测试和部署流程。为项目持续集成与交付功能强大的应用。下面我们来介绍下它的安装与配置。 环境准备 更新系统组件(这…...
ESP32作为Wi-Fi AP模式的测试
一、AP模式的流程 初始化阶段 (Init Phase): 1.1: Main task(主任务)初始化LwIP(轻量级TCP/IP协议栈)。 ESP_ERROR_CHECK(esp_netif_init()); 1.2: 创建和初始化Event task(事件任务)。 ESP_ERROR_CHECK…...
【爬虫】单个网站链接爬取文献数据:标题、摘要、作者等信息
源码链接: https://github.com/Niceeggplant/Single—Site-Crawler.git 一、项目概述 从指定网页中提取文章关键信息的工具。通过输入文章的 URL,程序将自动抓取网页内容 二、技术选型与原理 requests 库:这是 Python 中用于发送 HTTP 请求…...
Android RIL(Radio Interface Layer)全面概述和知识要点(3万字长文)
在Android面试时,懂得越多越深android framework的知识,越为自己加分。 目录 第一章:RIL 概述 1.1 RIL 的定义与作用 1.2 RIL 的发展历程 1.3 RIL 与 Android 系统的关系 第二章:RIL 的架构与工作原理 2.1 RIL 的架构组成 2.2 RIL 的工作原理 2.3 RIL 的接口与协议…...
leetcode_2816. 翻倍以链表形式表示的数字
2816. 翻倍以链表形式表示的数字 - 力扣(LeetCode) 搜先看到这个题目 链表的节点那么多 已经远超longlong能够表示的范围 那么暴力解题 肯定是不可以的了 我们可以想到 乘法运算中 就是从低位到高位进行计算 刚开始 我想先反转链表 然后在计算 然后在进…...
【论文阅读】MAMBA系列学习
Mamba code:state-spaces/mamba: Mamba SSM architecture paper:https://arxiv.org/abs/2312.00752 背景 研究问题:如何在保持线性时间复杂度的同时,提升序列建模的性能,特别是在处理长序列和密集数据(如…...
MySQL教程之:批量使用mysql
在前几节中,您以交互方式使用mysql输入语句并查看结果。您也可以运行mysql批量模式。为此,请将要运行的语句放在文件中,然后告诉mysql从文件中读取其输入: $> mysql < batch-file 如果您在Windows下运行mysql,…...
17_Redis管道技术
Redis管道(Pipeline)技术是一种在 Redis 客户端与服务器之间进行高效数据交互的技术。 1.Redis管道技术介绍 1.1 传统请求响应模式 在传统的请求-响应模式下,客户端每发送一个命令后会等待服务器返回结果,然后再发送下一个命令。这种方式在网络延迟较高的情况下会导致性…...
【LC】3270. 求出数字答案
题目描述: 给你三个 正 整数 num1 ,num2 和 num3 。 数字 num1 ,num2 和 num3 的数字答案 key 是一个四位数,定义如下: 一开始,如果有数字 少于 四位数,给它补 前导 0 。答案 key 的第 i 个数…...
【redis】ubuntu18安装redis7
在Ubuntu 18下安装Redis7可以通过以下两种方法实现:手动编译安装和使用APT进行安装。 Ubuntu 18系统的环境和版本: $ cat /proc/version Linux version 4.15.0-213-generic (builddlcy02-amd64-079) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)…...
d2j-dex2jar classes.dex 执行报错:not support version 问题解决
这个错误是由于 dex2jar 工具不支持你的 classes.dex 文件的版本导致的。通常情况下,这是因为你尝试使用的 dex2jar 版本不支持 Android 较新的 DEX 文件格式(例如 DEX 格式 038 或更新版本)。 解决方法 以下是一些解决此问题的步骤&#x…...
智慧城市应急指挥中心系统平台建设方案
建设背景与目标 智慧城市应急指挥中心系统平台的建设,源于对城市管理精细化、智能化的迫切需求。平台旨在通过整合各方资源,实现应急事件的快速响应与高效处置,提升城市安全管理水平。 前端设计与信息采集 前端设计注重立体化、全方位信息…...
QT鼠标、键盘事件
一、鼠标 鼠标点击 mousePressEvent 鼠标释放 mouseReleaseEvent 鼠标移动 mouseMoveEvent 鼠标双击 mouseDoubleClickEvent 鼠标滚轮 QWheelEvent 二、键盘 键盘按下 keyPressEvent 键盘松开keyReleaseEvent 一、鼠标 #include <QMouseEvent> 鼠标点击 mouse…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
