python自动化学习--3.8python操作EXCEL文件python日志收集处理

1、Excel文件处理

安装 openpxl 第三方库

openpxl 模块三大组件:

1、工作簿 (包含多个sheet工作表)

2、工作表 (某个数据包含在某个工作表)

3、单元格

1、创建excel工作簿

import openpyxl"""Excel表格的创建
"""def createExcel():# 创建工作簿wk = openpyxl.Workbook()# 获取当前工作表sheet = wk.active# 写数据到单元格sheet.cell(1, 1).value = "username"sheet.cell(1, 2).value = "class"sheet.cell(1, 3).value = "adress"wk.save("userinfo.xlsx")if __name__ == '__main__':createExcel()

run后会生成一个userinfo.xlsx工作簿,内容:

2、读取工作表

"""2、读取Excel表格的数据
"""
def readExcel():# 读取工作簿wk = openpyxl.load_workbook("userinfo.xlsx")# 方式一:获取工作表sheet1 = wk.get_sheet_by_name("Sheet")# 方式二:获取工作表# sheet1 = wk["Sheet"]# 获取单元格坐标locaion = sheet1.cell(1, 1)value = sheet1.cell(1, 1).valueprint(locaion, value)rows = sheet1.max_rowcols = sheet1.max_columnprint(f"工作表行数={rows}, 列数={cols}")

3、编辑工作表

先加载excel表格 然后修改数据后 保存 就ok

2、日志处理

1、日志作用:

问题定位、信息查询、数据分析

2、内置模块:logging

logging的四大组件:

1、日志器Logger -- > 入口

2、处理器 Handler ---> 执行者 在哪个端输出 (日志文件 or 控制台)

3、格式器 Fomatter 旗帜输入的内容

4、过滤器 Filter  输出感兴趣日志信息 过滤掉不感兴趣的日志信息

关系:1个日志器可以有多个处理器

每个处理器可以有各自的各时期和过滤器

3、logging模块的应用

日志级别:

debug  调试信息

info  关键时间描述  比如 在什么时间做了什么事情

warning 警告信息

error 错误信息

critical  严重错误信息

案例1 如下:

import  logging# 创建日志器
logger = logging.getLogger("logger")
# 创建控制台处理器  ---》 日志会输出在控制台
SH = logging.StreamHandler()
# 创建文件处理器  ---》 那么日志会输出到文件里面
FH = logging.FileHandler("log.txt")# 日志包含哪些内容 时间  文件 日志级别  日志信息
formatter = logging.Formatter(fmt="[%(asctime)s][%(filename)s] %(levelname)s : %(message)s",datefmt="%Y/%m/%d %H:%M:%S")
logger.addHandler(SH)
logger.addHandler(FH)
SH.setFormatter(formatter)# 假设有报错
try:score = int(input("请输入你的成绩"))if score > 60:print("恭喜你通过")else:print("继续努力")logging.debug("这是一个debug信息")logger.info("你查询成绩成功")logging.warning("这是一个警告信息")except Exception as error:logger.error("输入不是数字, 错误信息:"+str(error))logger.critical("这是一个critical信息")

如果想封装成一个方法的话, 如下

import  loggingclass FrameLog:def getLogger(self):# 创建日志器logger = logging.getLogger("logger")logger.setLevel(logging.INFO)# 如果没有处理器if not logger.handlers:# 创建控制台处理器  ---》 日志会输出在控制台SH = logging.StreamHandler()# 创建文件处理器  ---》 那么日志会输出到文件里面FH = logging.FileHandler("log.txt")# 日志包含哪些内容 时间  文件 日志级别  日志信息formatter = logging.Formatter(fmt="[%(asctime)s][%(filename)s] %(levelname)s : %(message)s",datefmt="%Y/%m/%d %H:%M:%S")logger.addHandler(SH)logger.addHandler(FH)SH.setFormatter(formatter)return loggerdef sum_two(self, x, y):"""求多个数之和:param args::return:"""sum_two = 0try:sum_two = x + yself.getLogger().info(f"计算2个数之和={sum_two}")return sum_twoexcept Exception as error:self.getLogger().error("计算2个数之和有异常:\n"+str(error))def sum(self, *args):"""求多个数之和:param args::return:"""try:sum = 0for num in args:sum+=numexcept Exception as error:self.getLogger().error("计算多个数之和有异常:\n"+str(error))self.getLogger().info(f"计算多个数之和={sum}")return sumif __name__ == '__main__':FrameLog().sum(9,2,3)FrameLog().sum_two(1,2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/265643.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

练习 2 Web [ACTF2020 新生赛]BackupFile 1

[ACTF2020 新生赛]BackupFile 1 Web常规题目 首先尝试查找常见的前端页面index.php之类的,没找到 题目有个“BackupFile”——备份文件 尝试用工具遍历查找相关的文件 御剑没扫出来,搜索搭建好dirsearch后,扫出来的index.php.bak 扫描工…

SPA首屏加载速度慢的怎么解决?

什么时首屏加载 首屏时间,指的是浏览器从响应用户输入网址地址,到首屏内容渲染完成的时间,此时整个网页不一定要全部渲染完成,但需要展示当前视图需要的内容。首屏加载可以说是用户体验中最重要的环节 如何计算首屏时间 通过DOM…

可观测性在威胁检测和取证日志分析中的作用

在网络中,威胁是指可能影响其平稳运行的恶意元素,因此,对于任何希望避免任何财政损失或生产力下降机会的组织来说,威胁检测都是必要的。为了先发制人地抵御来自不同来源的任何此类攻击,需要有效的威胁检测情报。 威胁…

【Vue的单选按钮不选中已解决亲测】

伙计,你是否因为后台给vue前端已经传入了对应的单选按钮的数据,为啥还是不选中呢!? 这个问题实话我百度乐很多都不能解决我的问题,最后机智如我的发现乐vue的自身的问题,后端返回的数据类型如果是数字int类…

浙江大学主办!2024年第7届信息通信与信号处理国际会议( ICICSP2024)征稿开启!

会议官网 IEEE | ICICSP 2024 学术会议查询-学术会议交流服务平台-爱科会易 (uconf.com)​www.uconf.com/

JavaEE:多线程(3):案例代码

目录 案例一:单例模式 饿汉模式 懒汉模式 思考:懒汉模式是否线程安全? 案例二:阻塞队列 可以实现生产者消费者模型 削峰填谷 接下来我们自己实现一个阻塞队列 1.先实现一个循环队列 2. 引入锁,实现线程安全 …

ETH开源PPO算法学习

前言 项目地址:https://github.com/leggedrobotics/rsl_rl 项目简介:快速简单的强化学习算法实现,设计为完全在 GPU 上运行。这段代码是 NVIDIA Isaac GYM 提供的 rl-pytorch 的进化版。 下载源码,查看目录,整个项目…

Redis 16种妙用

1、缓存 2、数据共享分布式 3、分布式锁 4、全局ID 5、计数器 6、限流 7、位统计 8、购物车 9、用户消息时间线timeline 10、消息队列 11、抽奖 12、点赞、签到、打卡 13、商品标签 14、商品筛选 15、用户关注、推荐模型 16、排行榜 1、缓存 String类型 例如:热点…

提示emp.dll丢失怎么办?emp.dll的多种解决方法

在计算机游戏运行过程中,如果系统提示“emp.dll文件丢失”,这可能会引发一系列影响游戏正常运行的问题。由于emp.dll是动态链接库文件中的一种,它通常承载着游戏核心功能的重要模块或组件,一旦缺失,意味着相关功能将无…

Flask——基于python完整实现客户端和服务器后端流式请求及响应

文章目录 本地客户端Flask服务器后端客户端/服务器端流式接收[打字机]效果 看了很多相关博客,但是都没有本地客户端和服务器后端的完整代码示例,有的也只说了如何流式获取后端结果,基本没有讲两端如何同时实现流式输入输出,特此整…

Linux:Ansible的常用模块

模块帮助 ansible-doc -l 列出ansible的模块 ansible-doc 模块名称 # 查看指定模块的教程 ansible-doc command 查看command模块的教程 退出教程时候建议不要使用ctrlc 停止,某些shell工具会出现错误 command ansible默认的模块,执行命令,注意&#x…

Docker数据卷-自定义镜像

一.数据卷 1.1数据卷的基本使用 数据卷是一个特殊的目录,用于在Docker容器中持久化和共享数据。 数据卷的主要特点包括: 数据持久性:数据卷允许您在容器的生命周期之外保持数据的持久性。即使容器被删除,数据卷中的数据依然存在&…

小程序框架(概念、工作原理、发展及应用)

引言 移动应用的普及使得用户对于轻量级、即时可用的应用程序需求越来越迫切。在这个背景下,小程序应运而生,成为一种无需下载安装、即点即用的应用形式,为用户提供了更便捷的体验。小程序的快速发展离不开强大的开发支持,而小程…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的活体人脸检测系统(Python+PySide6界面+训练代码)

摘要:本篇博客详细讲述了如何利用深度学习构建一个活体人脸检测系统,并且提供了完整的实现代码。该系统基于强大的YOLOv8算法,并进行了与前代算法YOLOv7、YOLOv6、YOLOv5的细致对比,展示了其在图像、视频、实时视频流和批量文件处…

如何做代币分析:以 TRX 币为例

作者:lesleyfootprint.network 编译:cicifootprint.network 数据源:TRX 代币仪表板 (仅包括以太坊数据) 在加密货币和数字资产领域,代币分析起着至关重要的作用。代币分析指的是深入研究与代币相关的数据…

c# .net8 香橙派orangepi + hc-04蓝牙 实例

这些使用c# .net8开发,硬件 香橙派 orangepi 3lts和 hc-04蓝牙 使用场景:可以通过这个功能,手机连接orangepi进行wifi等参数配置 硬件: 1、带USB口的linux开发板orangepi 2、USB 转TTL 中转接蓝牙(HC-04) 某宝上买…

网站三合一缩略图片介绍展示源码

网站三合一缩略图片介绍展示源码,PHP源码,运行需要php环境支持,效果截图如下 蓝奏云下载:https://wfr.lanzout.com/ihY8y1pgim6j

45、WEB攻防——通用漏洞PHP反序列化POP链构造魔术方法原生类

文章目录 序列化:将java、php等代码中的对象转化为数组或字符串等格式。代表函数serialize(),将一个对象转换成一个字符;反序列化:将数组或字符串等格式还成对象。代表函数unserialize(),将字符串还原成一个对象。 P…

【算法与数据结构】复杂度深度解析(超详解)

文章目录 📝算法效率🌠 算法的复杂度🌠 时间复杂度的概念🌉大O的渐进表示法。 🌠常见复杂度🌠常见时间复杂度计算举例🌉常数阶O(1)🌉对数阶 O(logN)🌉线性阶 O(N)&#x…

论文设计任务书学习文档|基于智能搜索引擎的图书管理系统的设计与实现

文章目录 论文(设计)题目:基于智能搜索引擎的图书管理系统的设计与实现1、论文(设计)的主要任务及目标2、论文(设计)的主要内容3、论文(设计)的基本要求4、进度安排论文(设计)题目:基于智能搜索引擎的图书管理系统的设计与实现 1、论文(设计)的主要任务及目标 …