Python学习小组课程P5-Python办公(2)Excel读取与Word生成

news2025/1/13 2:47:28

一、前言

注意:此为内部小组学习资料,非售卖品,仅供学习参考。
本系列课程:
Python学习小组课程-课程大纲与Python开发环境安装
Python学习小组课程P1-Python基础(1)语法与数组
Python学习小组课程P2-Python基础(2)文件操作
Python学习小组课程P3-Python爬虫(1)HTML与Json解析
Python学习小组课程P4-Python办公(1)Excel保存
Python学习小组课程P5-Python办公(2)Excel读取与Word生成
Python学习小组课程P6-Python办公(3)邮件与钉钉消息通知

二、知识点

1 读取Excel文件,分析并展示数据

知识点:Excel读取操作

更多使用方法可参考《python 使用 openpyxl 修改表格中的内容》

import openpyxl
import matplotlib.pyplot as plt

# 支持中文
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

path='P5.1_data/销售数据100019645157.xlsx'
wb=openpyxl.load_workbook(path) #创建工作簿
sheet=wb.active #获取活动表

rows=sheet.max_row
cols=sheet.max_column


size_dic={}
for row in range(1,rows+1):
    size=sheet.cell(row,3).value

    if size not in size_dic:
        size_dic[size]=1
    else:
        size_dic[size]+=1

#sheet.cell(1,cols+1).value='新增数据'
#wb.save(path)

print(size_dic)


size_list=[]
for size in size_dic:
    size_list.append([size,size_dic[size],size_dic[size]/10.])

labels=[item[0] for item in size_list]
fraces=[item[2] for item in size_list]

print(size_list)

plt.pie(x=fraces,labels=labels,autopct='%1.1f%%')
plt.show()
{'8(男41)': 3, '8.5(男42)': 2, '8.5(新42)': 1, '9(男42.5)': 1, '7(男40)': 2, '9.5(男43)': 1}
[['8(男41)', 3, 0.3], ['8.5(男42)', 2, 0.2], ['8.5(新42)', 1, 0.1], ['9(男42.5)', 1, 0.1], ['7(男40)', 2, 0.2], ['9.5(男43)', 1, 0.1]]

在这里插入图片描述

2 生成Word文档

知识点:Word文档生成

安装python-docx库

pip install python-docx

from docx import Document
from docx.shared import RGBColor 
import os

doc=Document()
doc.add_heading('如何使用Python创建Word文档?',0)

doc.add_heading('如何使用Python创建Word文档?',1)
doc.add_heading('如何使用Python创建Word文档?',2)
doc.add_heading('如何使用Python创建Word文档?',3)

p1=doc.add_paragraph('这是段落1\n')

#添加样式
run1=p1.add_run('这是内容1.1\n')
run1.bold=True

p1.add_run('颜色改变').font.color.rgb=RGBColor(255,0,0)

#创建目录
path='P5.2_data/'
if not os.path.exists(path):
    os.makedirs(path)

doc.save(f'{path}word文档创建.doc')

3 根据模板生成Word文档

知识点:Word文档读取、生成

from docx import Document
import os

infos=[
    ['00001',2030,12,12,12,0,'闯红灯',500],
    ['00002',2031,12,12,12,0,'违反禁令',300],
    ['00003',2032,12,12,12,6,'违章停车',300],
]

for info in infos:
    doc=Document('P5.3_data/word模板.docx')
    for p in doc.paragraphs:
        for run in p.runs:
            run.text=run.text.replace('{0}',info[0])
            run.text=run.text.replace('{1}',str(info[1]))
            run.text=run.text.replace('{2}',str(info[2]))
            run.text=run.text.replace('{3}',str(info[3]))
            run.text=run.text.replace('{4}',str(info[4]))
            run.text=run.text.replace('{5}',str(info[5]))
            run.text=run.text.replace('{6}',info[6])
            run.text=run.text.replace('{7}',str(info[7]))
    
    doc.save(f'P5.3_data/车辆{info[0]}.docx')

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

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

相关文章

【配电网重构】基于yalmip求解含sop+二阶锥配电网重构附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

ouster-32激光雷达使用---雷达输出数据分析

ouster-32激光雷达使用---雷达输出数据分析雷达输出数据分析所有数据imu数据雷达数据坐标系Rviz显示雷达输出数据分析 所有数据 查看当前topic消息种类 rostopic list终端输出 /clicked_point /initialpose /move_base_simple/goal /os_node/imu_packets /os_node/lidar_pa…

ADSP-21489的开发详解:VDSP+自己编程写代码开发(2-软件和硬件的开发环境搭建)

Visual DSP软件的安装 运行 setup 软件安装包,全部下一步即可完成软件安装,非常简单。我们的资料里提供了 VDSP5.1.2 软件,当然您也可以通过 ADI 公司官网下载。 VDSP5.1.2 软件官网下载地址: Visual DSP5.1.2的ADI官网下载链接…

2022深入学习C++教程

2022深入学习C教程 课堂和实践课程 – C 11 的功能、异常处理和 STL – 适用于学术界和工业界 课程英文名:Learn C Programming -Beginner to Advance- Deep Dive in C 此视频教程共30.0小时,中英双语字幕,画质清晰无水印,源码…

Composer交互文档如何在PPT当中使用

在往期的公开课中我们讲解了SOLIDWORKS Composer这样一款三维制作软件,Composer可以很好的利用SOLIDWORKS所设计的数据自动生成产品手册、装配目录、维修说明,以及销售和培训视频等,还可以为用户提供非常满意的交互式体验。 并且Composer和S…

抖音怎么录屏?这个方法,亲测好用

​抖音是现在流行的短视频软件之一,很多小伙伴喜欢用它来记录生活,分享生活中新鲜有趣的事情。有时候,在抖音上看到了喜欢的视频,想要分享给好友,发现抖音无法分享,这个时候就需要使用到屏幕录制功能了。那…

【电力系统】含电热联合系统的微电网运行优化附matlab代码和复现论文

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

我国跨国企业外汇风险管理——以海尔公司为例

目 录 摘 要 I 一、 绪论 1 (一) 选题背景及意义 1 (二) 国内研究现状 1 1. 国外研究现状 1 2. 国内研究现状 3 (三) 研究内容及方法 3 (四) 跨国企业外汇风险…

C语言 字符串

C语言 字符串引言一、字符串的创建方式二、字符串函数1. strlen 函数使用示例1使用示例2模拟 strlen 函数2. strcpy 函数使用示例模拟 strcpy 函数3. strcat 函数使用示例模拟 strcat 函数4. strcmp 函数使用示例模拟 strcmp 函数5. strncpy、strncat、strncmp6. strstr 函数使…

STC 51单片机55——加速度计GY-29 ADXL345

//实现与VB模拟鼠标通信,但是噪声很大 //采用输出角度的方式,输出x与z的角度和y与z的角度 //在VB中将屏幕水平与垂直等分1800份(角度*10得到的结果) //*************************************** // GY-29 ADXL345 IIC测试程序 // …

VIVADO时序约束之时序例外(set_false_path)

前言 当FPGA设计中的逻辑行为不能满足默认的时序要求时,设计者需要使用时序例外语法对该逻辑行为进行处理,例如:有些结果只需每个一个或多个时钟周期捕获一次。 vivado开发工具支持4个时序例外约束的语法,如下表所示:…

html5播放器禁止拖拽功能实例(教学内容禁止拖动观看)

html5播放器禁止拖拽功能实例&#xff08;常用于场景&#xff1a;企业培训、在线教学内容禁止学员拖动视频进行观看&#xff09; 实例1&#xff1a;参数开启后&#xff0c;视频教学内容或视频课件将不允许拖动进度条。 <div id"player"></div> <scr…

MAC执行graalvm并编译

1.先下载 https://github.com/graalvm/graalvm-ce-builds/releases 解压后放到/Library/Java/JavaVirtualMachines 然后执行sudo xattr -r -d com.apple.quarantine path/to/graalvm/folder/ IDEA添加JDK就是这个包 然后这时候可以正常启动了 原项目启动7秒&#xff0c;用这…

[附源码]计算机毕业设计基于Springboot校园订餐管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

基于BP神经网络进行手写体识别(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 字符识别长期以来都是采用传统的识别方法, 对印刷体字符的识别率一般只是稳定在96%左右, 未能进一步提高, 而对手写体字符的识…

推荐一款语音识别软件

一、简介 使用接口转换需要输入的语音为文字。 给大家带来一款语音识别软件&#xff0c;想做智能识别语音设备或者想给项目增加功能的同学可以看下 这款软件是使用python写的&#xff0c;其实开发语言无所谓用其他语言也可以写 代码还是挺简单的。 这款软件主要使用接口完成识…

SWMM排水管网水力、水质建模及在海绵城市与水环境保护中的应用

随着计算机的广泛应用和各类模型软件的发展&#xff0c;将排水系统模型作为城市洪灾评价与防治的技术手段已经成为防洪防灾的重要技术途径。美国环保局的雨水管理模型&#xff08;SWMM&#xff09;&#xff0c;是当今世界最为著名的排水系统模型。SWMM能模拟降雨和污染物质经过…

基于树莓派开发板的智能家居系统的设计和实现

目 录 摘 要 I Abstract II 前 言 1 开发工具和技术简介 1 1.1 硬件工具简介 1 1.1.1树莓派2代B板简介 1 1.1.2 其他硬件模块 1 1.2 软件工具介绍 3 1.2.1 Qt 3 1.2.2 Espeak TTS 3 1.2.3 WiringPi 3 1.2.4 PuTTY 5 1.2.5 Win32 Disk Imager 5 1.2.6 SDFormatter4exe 5 1.3 系…

【深度梯度投影网络:遥感图像】

Deep Gradient Projection Networks for Pan-sharpening &#xff08;用于全色锐化的深度梯度投影网络&#xff09; 全色锐化是遥感成像系统获取高分辨率多光谱图像的重要技术。最近&#xff0c;深度学习已经成为最流行的泛锐化工具。提出了一种基于模型的深度全色锐化方法。…

【电动车优化调度】基于模型预测控制(MPC)的凸优化算法的电动车优化调度(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f4dd;目前更新&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;电力系统相关知识&#xff0c;期刊论文&…