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.mzph.cn/news/717661.shtml

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

相关文章

GotoXy控制台光标的位置更新

光标控制解释 控制台的光标更新方法, 用于控制数据输出位置 void gotoXY(int x, int y)//新函数:更新光标 {COORD c;c.X x;c.Y y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c); }代码解释 这段代码定义了一个名为 gotoXY 的函数,…

【Spring Boot】实现全局异常处理

1.定义基础异常接口类 /*** description: 服务接口类* author: MrVK* date: 2021/4/19 21:39*/ public interface BaseErrorInfoInterface {/*** 错误码* return*/String getResultCode();/*** 错误描述* return*/String getResultMsg(); } 2.定义错误处理枚举类 /*** desc…

小伙伴询问AI该怎么学习?本人的一点总结,以思维导图呈现

如有需要思维导图的在后台请留邮箱,相关知识结构目录 部分导图

nn.Linear() 使用提醒

原本以为它是和nn.Conv2d()一样,就看第二个维度的数值,今天才知道,它是只看最后一个维度的数值!!! 例子1 Descripttion: Result: Author: Philo Date: 2024-02-27 14:33:50 LastEditors: Philo LastEditT…

如何使用“Ubuntu 20.04桌面版,安装MariaDB数据库“?win10系统?

1、更新软件包 sudo apt update 2、 安装MariaDB服务器和客户端 sudo apt install mariadb-server mariadb-client 3、 查看MeriaDB是否运行 service mysql status :q"退回命令行状态 4、 设置MariaDB root用户的密码 sudo mysql_secure_installation 5、 MariaD…

斐波那契数列模型----三步问题

面试题 08.01. 三步问题 - 力扣(LeetCode) 1、状态表示: 题目要求:上到n阶台阶,有多少种方法。那么n逐渐简化,上1阶台阶有多少种方法;上2阶台阶有多少种方法……直到上n阶台阶有多少种方法。 …

代码随想录第45天|● 70. 爬楼梯 (进阶) ● 322. 零钱兑换 ● 279.完全平方数

文章目录 ● 70. 爬楼梯 (进阶)思路:- 排列 先value后weight代码: ● 322. 零钱兑换思路:代码 ● 279.完全平方数思路:代码 ● 70. 爬楼梯 (进阶) 思路:- 排列 先value后…

如何提升计算机性能

04 穿越功耗墙,我们该从哪些方面提升“性能”? 上一讲,在讲 CPU 的性能时,我们提到了这样一个公式: 程序的 CPU 执行时间 指令数CPIClock Cycle Time 这么来看,如果要提升计算机的性能,我们可以…

基于ZYNQ的PCIE高速数据采集卡的设计(一)

作为信息处理的第一步,数据采集的作用越来越重要。目前,数据采集已经在航 空、民用、军事、医疗等领域得到广泛应用。随着相关技术的不断发展,信号频率越 来高,带宽越来越大,使得数据采集技术逐渐向高速大数据的方向…

幻兽帕鲁专用服务器搭建之Linux部署配置教程

大家好我是飞飞,上一期我分享了Windows系统的幻兽帕鲁服务器搭建教程。因为幻兽帕鲁这游戏对服务器的配置有一定的要求,很多小伙伴就寻思用Linux系统搭建占用会不会小一点?有计算机基础的小伙伴都知道Linux系统和Windows系统相比,…

【Linux】实时查看服务器信息

查看服务器CPU使用率 使用命令mpstat 1。这里的1表示每隔1秒更新一次CPU使用率。如果系统未安装mpstat,可以通过安装sysstat包来获取它。 在基于Debian的系统(如Ubuntu)上,使用命令: sudo apt-get update sudo apt-…

考研复试类比社团招新,无所谓“公平”,导师选谁都是他的权力

这篇文章是抖音和b站上上传的同名视频的原文稿件,感兴趣的csdn用户可以关注我的抖音和b站账号(GeekPower极客力量)。同时这篇文章也为视频观众提供方便,可以更加冷静地分析和思考。文章同时在知乎发表。 我考研一战的时候计算机考…

【详识JAVA语言】面向对象程序三大特性之一:封装

封装的概念 面向对象程序三大特性:封装、继承、多态。而类和对象阶段,主要研究的就是封装特性。何为封装呢?简单来说 就是套壳屏蔽细节。 比如:对于电脑这样一个复杂的设备,提供给用户的就只是:开关机、通…

管理系统提升:列表页构成要素,拒绝千篇一律

大家伙,我是大千UI工场,专注UI知识案例分享和接单,本期带来B端系统列表页的分享,欢迎大家关注、互动交流。 一、什么是列表页 管理系统列表页是指管理系统中用于展示和管理数据的页面,通常以表格或列表的形式呈现。列…

23端口登录的Telnet命令+传输协议FTP命令

一、23端口登录的Telnet命令 Telnet是传输控制协议/互联网协议(TCP/IP)网络(如Internet)的登录和仿真程序,主要用于Internet会话。基本功能是允许用户登录进入远程主机程序。 常用的Telnet命令 Telnet命令的格式为&…

有人吐槽:可视化大屏面向领导的设计,真相是这样吗?

某些老铁的态度很极端,看到可视化大屏页面就一口断定,除了讨好领导之外,屁用没有。真相是这样吗?贝格前端工场尝试给老铁们分析下。 一、可视化大屏确实要面向领导,但不是讨好领导 可视化大屏的设计需要考虑领导和管理…

整理的一些脑模板及节点的名称

整理的一些脑模板及节点的名称 前言模板简介AAL90模板HOA112 模板 前言 自己看论文找的,因为有些数据集网站的确有点难找到模板的名称等等。所以主要是看一些论文,因为有文献,所以更有保障一些。当然也有一些在数据网站上比较容易找到所以一…

小兴教你做平衡小车-stm32程序开发(按键扫描)

文章目录 1 单片机最小系统板按键原理图介绍2 库函数程序设计3 寄存器程序设计4 效果展示 1 单片机最小系统板按键原理图介绍 从图中看出单片机的PB12引脚接到了按键上。 根据按键的原理图,可以分析得到,如果不按下按键的时候,引脚输入的是…

适配华为“纯血鸿蒙”,抖音开始招聘相关人才

目前,字节跳动上线了“大前端高级开发工程师”一职,开始招聘鸿蒙人才。 根据职位描述,该岗位负责抖音大前端基础工程与架构设计,以及抖音大前端基础设施建设。 该职位需要有前端工程化经验,熟悉JavaScript/TypeScrip…