Python脚本自动填充数据和生成文档轻松办公

一,自动填充数据生成word文档

代码:


from docx import Document# 创建一个新的Word文档对象
doc = Document()# 添加标题
doc.add_heading('自动填充数据和生成文档', level=1)# 添加段落
doc.add_paragraph('这是一个使用Python脚本自动填充数据并生成文档的示例。')# 添加表格
table = doc.add_table(rows=3, cols=2)
table.style = 'Table Grid'# 填充表格数据
table.cell(0, 0).text = '姓名'
table.cell(0, 1).text = '年龄'
table.cell(1, 0).text = '张三'
table.cell(1, 1).text = '25'
table.cell(2, 0).text = '李四'
table.cell(2, 1).text = '30'# 保存文档
doc.save('Python自动填充数据和生成文档.docx')

执行结果:

 

 

二、Excel办公自动化(创建简单的电子表格和条形图)

代码:


from openpyxl import Workbook
from openpyxl.styles import Font
from openpyxl.chart import BarChart, Referencewb = Workbook()
ws = wb.activetreeData = [["Type", "Leaf Color", "Height"], ["Maple", "Red", 549], ["Oak", "Green", 783], ["Pine", "Green", 1204]]
print(treeData)
# 将列表数据输入到工作表 Worksheet.append()
for row in treeData:ws.append(row)
# 标题行中的所有单元格设置为粗体。styles.Font
ft = Font(bold=True)
for row in ws["A1:C1"]:for cell in row:cell.font = ft# 制作图表
chart=BarChart()
chart.type = "col"
# 题目
chart.title = "Tree Height"
# Y轴
chart.y_axis.title = 'Height (cm)'
# X轴
chart.x_axis.title = 'Tree Type'
chart.legend = None# 需要添加对数据所在位置的引用,并将其传递给图表对象
data = Reference(ws, min_col=3, min_row=2, max_row=4, max_col=3)
categories = Reference(ws, min_col=1, min_row=2, max_row=4, max_col=1)chart.add_data(data)
chart.set_categories(categories)# 保存
ws.add_chart(chart, "E1")
wb.save("file7.xlsx")

结果:

 

三、PDF办公自动化(pdf转为word)

首先导入了pdf2docx库中的Converter类。然后,指定输入的PDF文件路径和输出的Word文件路径。接着,创建了一个转换器对象cv,并调用其convert方法将PDF转换为Word。最后,关闭转换器对象。

pip install pdf2docx

事先准备好一个pdf文件

代码:


from pdf2docx import Converter# 转换前pdf路径
pdf_file = '金钼股份2020年第三季度报告正文.pdf'
# 转换后Word路径
docx_file = '金钼股份2020年第三季度报告正文.docx'# 创建一个转换器对象
cv = Converter(pdf_file)# 将PDF转换为Word
cv.convert(docx_file, start=0, end=None)# 关闭转换器
cv.close()

执行结果:

[INFO] Start to convert 金钼股份2020年第三季度报告正文.pdf
[INFO] [1/4] Opening document...
[INFO] [2/4] Analyzing document...
[INFO] [3/4] Parsing pages...
[INFO] (1/8) Page 1
[INFO] (2/8) Page 2
[INFO] (3/8) Page 3
[INFO] (4/8) Page 4
[INFO] (5/8) Page 5
[INFO] (6/8) Page 6
[INFO] (7/8) Page 7
[INFO] (8/8) Page 8
[INFO] [4/4] Creating pages...
[INFO] (1/8) Page 1
[INFO] (2/8) Page 2
[INFO] (3/8) Page 3
[INFO] (4/8) Page 4
[INFO] (5/8) Page 5
[INFO] (6/8) Page 6
[INFO] (7/8) Page 7
[INFO] (8/8) Page 8
[INFO] Terminated in 7.32s.进程已结束,退出代码为 0

 

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

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

相关文章

刷新方盒子最快10万销量纪录 捷途旅行者何以颠覆越野市场?

近年”方盒子“产品迅速崛起,在新一轮的市场角逐中,率先突围的并非传统豪强,而是首次进军越野市场的捷途汽车。作为“燃油车,”捷途旅行者,在面对纯电、混动等产品的强势围剿下,仅用时9个月便成为细分市场销…

基于细节增强卷积和内容引导注意的单图像去雾

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 摘要Abstract文献阅读:DEA-Net:基于细节增强卷积和内容引导注意的单图像去雾1、研究背景2、方法提出3、相关知识3.1、DEConv3.3、多重卷积的…

深度学习 - 构建神经网络

1. 自动求导机制 概念解释: 自动求导:PyTorch的autograd模块允许我们自动计算张量的梯度,这在反向传播算法中尤为重要。反向传播是神经网络训练的核心,用于计算每个参数的梯度并更新参数。 生活中的例子: 想象你是…

Java时间类(十六) -- 将一天的时间进行等步长分割

废话不多说,直接上工具类: import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List;/*** @ClassName TimeSplitterUtil* @Description …

C语言指针与数组名的联系

目录 一、数组名的理解 a.数组名代表数组首元素的地址 b. 两个例外 二、使用指针来访问数组 三、一维数组传参的本质 一、数组名的理解 a.数组名代表数组首元素的地址 我们在使用指针访问数组的内容时,有这样的代码: int arr[10] {1,2,3,4,5,6,7,…

枚举(enum)+联合体(union)

枚举联合 一.枚举类型1.枚举类型的声明2.枚举类型的优点3.枚举类型的使用 二.联合体1.联合体类型的声明2.联合体的特点3.相同成员的结构体和联合体对比4.联合体大小的计算5.联合体的练习(判断大小端)6.联合体节省空间例题 一.枚举类型 1.枚举类型的声明…

Sentinel1.8.6更改配置同步到nacos(项目是Gateway)

本次修改的源码在:https://gitee.com/stonic-open-source/sentinel-parent 一 下载源码 地址:https://github.com/alibaba/Sentinel/releases/tag/1.8.6 二 导入idea,等待maven下载好各种依赖 三 打开sentile-dashboard这个模块&#xf…

介绍下CIDR(Classless Inter-Domain Routing)无类别域间路由

最近在搞DELL EMC XtremIO的重新初始化,在Stortage controller和XMS的xinstall配置的时候,需要配置用到CIDR,就是classless inter-domian routing,总结了一下,其实很多对网络设备的地方都用得到,以前还不知…

华为手机录屏在哪里?图文详解帮你找!

随着科技的进步,智能手机已成为我们日常生活中不可或缺的工具。其中,华为手机凭借其卓越的性能和用户体验,在全球范围内赢得了广泛的赞誉。在众多功能中,录屏功能尤为实用,无论是制作教程、记录游戏精彩瞬间&#xff0…

压敏电阻器是在规定温度下,当电压超过某一临界值时电导随电压的升高而急速增大的一种电阻器

压敏电阻器是在规定温度下,当电压超过某一临界值时电导随电压的升高而急速增大的一种电阻器。压敏电阻器的伏安特性是非线性的,因此,压敏电阻器亦称为非线性电阻器,非线性来自于压敏电阻器两端的外加电压,其伏安特性如图 9-1所示。从图9-1可以看出,压敏电阻器有对称型和非对称型…

网络运维简介

目录 1.网络运维的定义 2.诞生背景 3.网络运维的重要性 4.优点 5.缺点 6.应用场景 6.1.十个应用场景 6.2.数据中心运维 7.应用实例 8.小结 1.网络运维的定义 网络运维(Network Operations)是指管理、监控和维护计算机网络以确保其高效、安全和…

2024最新华为OD算法题目

在一个机房中,服务器的位置标识在 n*m 的整数矩阵网格中,1表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网。请你统计机房中最大的局域网包含的服务器个数。 输入描述 第一行输入两个正整数,n和m,…

Python私教张大鹏 Vue3整合AntDesignVue之文本组件

案例&#xff1a;展示标题 核心代码&#xff1a; <a-typography><a-typography-title>Introduction</a-typography-title> </a-typography>vue3示例&#xff1a; <template><a-typography><a-typography-title>这是一个标题</…

HTTP请求过程

HTTP&#xff08;超文本传输协议&#xff09;请求过程是客户端&#xff08;通常是浏览器&#xff09;与服务器之间通信的方式&#xff0c;用于从服务器请求资源&#xff08;如网页、图片、视频等&#xff09;。以下是HTTP请求的基本步骤&#xff1a; 建立TCP连接&#xff1a; 如…

【K8s】专题四(6):Kubernetes 控制器之 Job

以下内容均来自个人笔记并重新梳理&#xff0c;如有错误欢迎指正&#xff01;如果对您有帮助&#xff0c;烦请点赞、关注、转发&#xff01;欢迎扫码关注个人公众号&#xff01; 目录 一、基本介绍 二、工作原理 三、相关特性 四、资源清单&#xff08;示例&#xff09; 五…

C语言经典习题20

一编写一个函数用于计算高于平均分的人数 编写一个函数int fun(float s[],int n)&#xff0c;用于计算高于平均分的人数&#xff0c;并作为函数值返回&#xff0c;其中数组s中存放n位学生的成绩。再编写一个主函数&#xff0c;从键盘输入一批分数&#xff08;用-1来结束输入&a…

电路分析答疑 1

三要素法求解的时候&#xff0c; 电容先求U&#xff0c;再利用求导求I 电感先求I&#xff0c;再利用求导求U 若I的头上没有点点&#xff0c;那就是求有效值 叠加定理&#xff0c;不要忘记 若电流值或者电压值已经给出来了&#xff0c;那就说明这一定是直流电。 在画画圈的时候…

数据库(25)——多表关系介绍

在项目开发中&#xff0c;进行数据库表结构设计时&#xff0c;会根据业务需求及业务模块之间的关系&#xff0c;分析并设计表结构&#xff0c;各个表之间的结构基本上分为三种&#xff1a;一对多&#xff0c;多对多&#xff0c;一对一。 一对多 例如&#xff0c;一个学校可以有…

Mac修改Mysql8.0密码

转载请标明出处&#xff1a;http://blog.csdn.net/donkor_/article/details/139392605 文章目录 前言修改密码Step1:修改my.conf文件Step2:添加配置skip-grant-tablesStep3:重启mysql服务Step4:进入mysqlStep5:刷新权限Step6:修改密码Step7:再次刷新权限Step8:删除/注释 skip-…

DNS域名

DNS域名 DNS是域名系统的简称 域名和ip地址之间的映射关系 互联网中&#xff0c;ip地址是通信的唯一标识 访问网站&#xff0c;域名&#xff0c;ip地址不好记&#xff0c;域名朗朗上口&#xff0c;好记。 域名解析的目的就是为了实现&#xff0c;访问域名就等于访问ip地址…