Python与SQL Server数据库结合导出Excel并做部分修改
Python与SQL Server数据库结合导出Excel并做部分修改
需求:在数据库中提取需要的字段内容;并根据字段内容来提取与拆分数据做为新的列最后导出到Excel文件
# -*- coding: utf-8 -*-
import pandas as pd
import re
import pymssql
import timestart_time = time.time()
print("程序开始时间:", time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(start_time)))
# 建立数据库连接
conn = pymssql.connect(server='192.168.2.1', user='sa', password='123', database='YD')# 执行 SQL 查询
query = f'''
SELECT 类型,流水号,账号,时间,通过时间,客服号,地市,区县,grid,测试结果
FROM TS_DATA WHERE CAST(最后质检通过时间 AS date) = '2024-09-01';
''' # 修改为你的实际表名
df = pd.read_sql(query, conn)# 确保 '测试结果' 列中是字符串
df['测试结果'] = df['测试结果'].astype(str)# 定义提取信息的函数
def extract_info(text):# 提取光功率,包括可能的中文错误信息light_power = re.search(r'【功率】:([^【\n]*)', text)light_power = light_power.group(1).strip() if light_power else None# 提取速率,包括 'M' 字符rate = re.search(r'【速率】:([\d.]+M)', text)rate = rate.group(1) if rate else None# 提取 radiusradius = re.search(r'【ra】:([^,\s【]+)', text)radius = radius.group(1).strip() if radius else None# 提取上线时间online_time = re.search(r'上线:([\d/:\s]+)', text)online_time = online_time.group(1) if online_time else Nonereturn pd.Series([light_power, rate, radius, online_time],index=['功率', '速率', 'ra', '上线'])# 提取数据并添加到新的列中
df[['功率', '速率', 'ra', '上线']] = df['测试结果'].apply(extract_info)df.fillna('空白', inplace=True)
df['测试结果'] = df['测试结果'].replace('None', '', regex=False)
# 添加一个新列来标记是否有任何字段为"空白"
df['是否包含空白'] = (df['功率'] == "空白") | (df['速率'] == "空白") | (df['ra'] == "空白")
df['是否包含空白'] = df['是否包含空白'].map({True: '是', False: '否'})
# 保存到新的 Excel 文件
output_file = '投诉9月份数据-0901.xlsx'
df.to_excel(output_file, index=False, engine='openpyxl')print(f"数据已处理并保存到 {output_file}")# 关闭数据库连接
conn.close()
end_time = time.time()
print("程序结束时间:", time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(end_time)))
run_time = end_time - start_time
print("程序运行耗时:%0.2f" % run_time, "s")
最终效果图

相关文章:
Python与SQL Server数据库结合导出Excel并做部分修改
Python与SQL Server数据库结合导出Excel并做部分修改 需求:在数据库中提取需要的字段内容;并根据字段内容来提取与拆分数据做为新的列最后导出到Excel文件 # -*- coding: utf-8 -*- import pandas as pd import re import pymssql import timestart_ti…...
常见的TTL,RS232,RS485,IIC,SPI,UART之间的联系和区别
简单总结 图片来源 RS232,RS485可参考,IIC,SPI,UART可参考 烧录程序中常听到的一句话就是USB转TTL,但严格来说算是USB传输数据的协议转换成TTL(Transistor-Transistor Logic)协议传输数据。首先,usb是常见…...
【数据结构】栈和队列(Stack Queue)
引言 在对顺序表,链表有了充分的理解之后,现在让我们学习栈和队列!!! 【链表】 👈链表 【顺序表】👈顺序表 目录 💯栈 1.栈的概念及结构 2.栈的实现 ⭐初始化栈 ⭐入栈 ⭐…...
Vue.js基础
Vue.js https://v2.cn.vuejs.org/https://cn.vuejs.org/初识Vue 官网:Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层…...
罐区紧急切断阀安装位置规范
在化工生产与储存的复杂环境中,罐区紧急切断阀的安装位置规范不仅是保障生产安全的关键一环,更是预防重大事故、减少损失的有效手段。在深入理解了罐区布局、物料特性及潜在风险后,对于紧急切断阀的安装位置,我们应遵循以下更为细…...
JavaScript 中的事件模型
JavaScript 中的事件模型是浏览器如何处理用户交互(如点击、键盘输入、鼠标移动等)或其他事件(如加载完成、定时器等)的机制。理解事件模型有助于我们处理这些事件并响应它们。JavaScript 的事件模型主要包括以下几个部分…...
理解Java引用数据类型(数组、String)传参机制的一个例子
目录 理解Java引用数据类型(数组、String)传参机制的一个例子理解样例代码输出 参考资料 理解Java引用数据类型(数组、String)传参机制的一个例子 理解 引用数据类型传递的是地址。用引用类型A给引用类型B赋值,相当于…...
【计算机组成原理】实验一:运算器输入锁存器数据写实验
目录 实验要求 实验目的 主要集成电路芯片及其逻辑功能 实验原理 实验内容及步骤 实验内容 思考题 实验要求 利用CP226实验箱上的K16~K23二进制拨动开关作为DBUS数据输入端,其它开关作为控制信号的输入端,将通过K16~K23设定…...
LSI SAS 9361-8i和SAS3008 12 gb / s PCIe 3.0 RAID 阵列卡配置
LSI SAS 9361-8i和SAS3008 12 gb / s PCIe 3.0 RAID 阵列卡配置 开机,BIOS自检,可以看到设备硬盘信息,以及提示CtrlR进入Raid卡配置界面。 按CtrlR进入Raid卡配置界面,一般来说使用CtrlR进入Raid卡配置界面的Raid卡配置都通用。 …...
node js版本低导致冲突WARN EBADENGINE package: required: { node: ‘>=18‘ }
重新安装依赖包 1、删除旧的 node_modules 目录和 package-lock.json 文件: rm -rf node_modules rm package-lock.json2、升级node版本 wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bashexport NVM_DIR"$([ -z "${…...
828华为云征文|使用Flexus X实例安装宝塔面板教学
目录 一、Flexus X实例简介 1.1 概述 1.2 产品规格 二、切换操作系统 2.1 Huawei Cloud EulerOS 2.0 标准版 2.2 切换镜像 三、部署宝塔面板 3.1 安装宝塔面板 3.2 放通安全组规则 3.3 登录宝塔面板 四、使用感受 4.1 柔性算力随心配 4.2 一直加速一直快 4.3 越用…...
1.量化第一步,搭建属于自己的金融数据库!
数据是一切量化研究的前提。 做量化没有数据,就相当于做饭时没有食材。 很多时候,我们需要从大量的数据中寻找规律,并从中开发出策略。如果我们每次使用的时候,都从网上去找数据,一方面效率低下,另一方面短…...
git-repo系列教程(6) 在自己服务器上搭建git-repo仓库
为什么要在自己的服务器上搭建git-repo仓库呢? 因为 清华大学开源软件镜像站 有时会更新同步git repo,导致不能使用.可能在局域网不能访问外网,无法下载镜像站上的git-repo仓库完全版. 操作步骤 1.获取git-repo仓库 需要先下载完全的仓库 cd .repo/repo/ #获取镜像站上的…...
微服务——服务保护(Sentinel)(一)
1.雪崩问题 级联失败或雪崩问题指的是在微服务架构中,由于服务间的相互依赖和调用,当一个服务出现故障时,会引起调用它的服务也出现故障,进而引发整个调用链路的多个服务都出现故障,最终导致整个系统崩溃的现象。 产生…...
jenkins声明式流水线语法详解
最基本的语法包含 pipeline:所有有效的声明式流水线必须包含在一个 pipeline 块中stages:包含一系列一个或多个stage指令stage:stage包含在stages中进行,比如某个阶段steps:在阶段中具体得执行操作,一个或…...
mini-lsm通关笔记Week2Overview
Week 2 Overview: Compaction and Persistence 在上周,您已经实现了LSM存储引擎的所有必要结构,并且您的存储引擎已经支持读写接口。在本周中,我们将深入探讨SST文件的磁盘组织,并研究在系统中实现性能和成本效益的最佳方法。我们…...
基于SpringBoot的在线点餐系统【附源码】
基于SpringBoot的高校社团管理系统(源码L文说明文档) 4 系统设计 4.1 系统概述 网上点餐系统的结构图4-1所示: 图4-1 系统结构 模块包括主界面,首页、个人中心、用户管理、美食店管理、美食分类管理、美食…...
生成式语言模型底层技术面试
在准备生成式语言模型的底层技术面试时,可以关注以下几个关键领域: 1. 模型架构 Transformer架构:了解自注意力机制、编码器-解码器结构,以及如何处理序列数据。预训练与微调:解释预训练和微调的过程,如何…...
HTML开发指南
目录 一、HTML基础1. HTML简介(1)标记语言(2)结构化文档(3)标签与属性(4)注释(5)版本演变 2. HTML文档结构(1)文档类型声明࿰…...
共筑数据安全防线!YashanDB与SPU完成兼容性互认证
近日,深圳计算科学研究院崖山数据库系统YashanDB与深圳市机密计算科技有限公司SPU机密计算协处理器顺利完成兼容性互认证。测试结果表明,双方产品完全兼容,稳定运行,能为用户提供全链路的数据安全管理解决方案,助力央国…...
效率翻倍,一键生成企业级vue3+ts+pinia项目脚手架,告别重复环境配置
最近在搭建一个企业级中后台管理系统时,发现从零开始配置Vue3项目环境特别耗时。传统方式需要手动安装各种依赖、配置代码规范、设计目录结构,经常因为版本兼容问题卡住半天。后来尝试用InsCode(快马)平台生成项目脚手架,效率直接翻倍&#x…...
应用篇,在Silverlight中使用Virtual Earth地图服务
ilverlight应用中使用地图服务是否能够得心应手呢? 答案是肯定的,我们操作Earth服务只需执行简单的服务调用,就可完成坐地日行八万里的壮举了,而这一切是由VIEWs组件封装了Javascript脚本来完成的,通过对Virtual Eart…...
别再折腾官方源了!用XianDian-IaaS-v2.2在CentOS7上30分钟搞定OpenStack最小化部署
30分钟极速部署OpenStack:XianDian-IaaS在CentOS7上的实战指南 OpenStack作为开源云计算平台的标杆,其强大的灵活性和模块化设计吸引了大量企业用户。但官方部署流程的复杂性往往让初学者望而却步——依赖项冲突、版本兼容性问题、繁琐的配置步骤&#x…...
3分钟解锁暗黑破坏神2完整体验:PlugY插件终极指南 [特殊字符]
3分钟解锁暗黑破坏神2完整体验:PlugY插件终极指南 🎮 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 还在为暗黑破坏神2单机模式的种种限制而…...
Swin2SR效果实测:处理含文字区域图像时的可读性保持能力专项测试
Swin2SR效果实测:处理含文字区域图像时的可读性保持能力专项测试 1. 测试背景与目的 在日常工作和生活中,我们经常会遇到一些低分辨率、模糊不清的图片,特别是那些包含文字的图像。无论是扫描的文档、网页截图,还是老照片中的文…...
ROS Noetic下用Python脚本在Gazebo里动态生成障碍物(附完整代码和常见报错解决)
ROS Noetic下Python脚本动态生成Gazebo障碍物的工程实践 在机器人仿真测试中,动态生成环境障碍物是验证导航算法鲁棒性的关键手段。传统手动拖拽方式效率低下且难以复现特定测试场景,而通过编程控制Gazebo仿真环境则能实现测试流程的自动化与标准化。本文…...
基于Kubernetes Operator的MySQL InnoDB Cluster自动化部署实践
1. MySQL InnoDB Cluster与Kubernetes Operator基础 MySQL InnoDB Cluster是MySQL官方提供的高可用数据库解决方案,它基于MySQL Group Replication技术构建,能够实现多节点数据同步和自动故障转移。想象一下,这就像是一个由多个数据库实例组…...
OpenCode效果实测:基于Qwen3-4B的代码生成质量与速度展示
OpenCode效果实测:基于Qwen3-4B的代码生成质量与速度展示 1. 项目概览与技术背景 OpenCode是2024年开源的AI编程助手框架,采用Go语言开发,主打"终端优先、多模型、隐私安全"的设计理念。该项目将大语言模型(LLM)包装成可插拔的Ag…...
ComfyUI翻译节点终极指南:如何选择最适合你的AI创作翻译工具
ComfyUI翻译节点终极指南:如何选择最适合你的AI创作翻译工具 【免费下载链接】ComfyUI_Custom_Nodes_AlekPet Custom nodes that extend the capabilities of Comfyui 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_Custom_Nodes_AlekPet 在AI图像生…...
Natapp内网穿透避坑指南:Windows系统常见报错解决方案(2024最新版)
Natapp内网穿透避坑指南:Windows系统常见报错解决方案(2024最新版) 在开发过程中,内网穿透工具如Natapp已成为连接本地开发环境与外部网络的必备利器。然而,对于初次接触Natapp的Windows用户来说,从安装配…...
