python 自动生成word文档,python实现的生成word文档功能示例
python实现的生成word文档功能示例
发布时间:2020-09-23 11:37:44
来源:脚本之家
阅读:108
作者:zhizunyu2009
本文实例讲述了python实现的生成word文档功能。分享给大家供大家参考,具体如下:
每月1次的测试费用报销,需要做一个文档。干脆花点时间写个程序吧。
# -*- coding: utf-8 -*-
from tools import get_data
from docx import Document
def new_doc(fee_data,doc_path,fee):#新建一个word文档,写入汇总表的数据
document = Document()
p_total = document.add_paragraph()
r_total = p_total.add_run(u'测试订单费用汇总表:')
r_total.font.bold = True
table = document.add_table(1,5,)
heading_cells = table.rows[0].cells
heading_cells[0].text = u'序号'
heading_cells[1].text = u'订单号'
heading_cells[2].text = u'订单总额'
heading_cells[3].text = u'运费'
heading_cells[4].text = u'实付金额'
total = 0
for i in range(0,len(fee_data)):
cells = table.add_row().cells
cells[0].text = str(i+1)
cells[1].text = str(fee_data[i][0])
cells[2].text = str(float(fee_data[i][1])/100)
cells[3].text = str(float(fee_data[i][2])/100)
cells[4].text = str(float(fee_data[i][3])/100)
total = total + fee_data[i][3]
if total > fee:#如果实付总额大于传入的金额,终止写入数据,并记录序号
number = i
break
total = str(float(total)/100)
document.add_paragraph(u'实付金额总计:' + total + u' 元。')
document.add_paragraph()
p_detail = document.add_paragraph()
r_detail = p_detail.add_run(u'测试订单明细:')
r_detail.font.bold = True
for i in range(0,number+1):
order_no = str(fee_data[i][0])
paid_amount = str(float(fee_data[i][3])/100)
row_str = str(i+1) + '.' + u'订单号:' + order_no + u'实付金额:' + paid_amount + u'元。'
document.add_paragraph(row_str)
document.save(doc_path)
if __name__ == "__main__":
#sql语句筛选实付金额在5元和39元之间的订单
sql = "SELECT outer_order_id,order_amount,real_shipping_amount,paid_amount FROM oh_order_info WHERE " \
"order_create_time between '2017-12-01 9:00:00' and '2017-12-27 9:00:00' " \
"AND paid_amount between '500' and '3900'"
fee_data = get_data(sql)
doc_path = r'd:\yuzhong.docx'
fee = 12300 #多少元以上,单位:分
new_doc(fee_data,doc_path,fee)
使用到的tools文件中get_data函数
# -*- coding: utf-8 -*-
import MySQLdb
import conf
def get_data(*sql_list):#根据sql语句,获取数据库的数据
conn = MySQLdb.connect(conf.test_dbhost,conf.test_user,conf.test_passd,conf.test_dbname,port=3306,charset="utf8")
cur = conn.cursor()
for sql in sql_list:
cur.execute(sql)
conn.commit()
results = cur.fetchall()
cur.close()
conn.close()
return results
conf文件中记录的数据库帐号和密码。
运行结果:
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
python 自动生成word文档,python实现的生成word文档功能示例相关推荐
- 如何用python自动改试卷_利用Python和Jinja2自动生成试卷
一.概述 Jinja2是Python 3下一个被广泛应用的模版引擎,它的设计思想来源于Django的模板引擎,并扩展了其语法和一系列强大的功能.其中最显著的一个是增加了沙箱执行功能和可选的自动转义功能 ...
- python自动汇总表格_用Python自动生成Excel报表
作者 / 来源:林骥(ID:linjiwx) 01 安装和导入模块 以 Python 中的 openpyxl 模块为例,它能够读取和修改 Excel 文件,如果你还没有安装,可以通过以下命令进行安装: ...
- python 自动执行 apdl_【转载】利用VB生成APDL文件 和Python文件的方法
图1 ANSYS的批处理操作 baqus的内置语言是Python,与ANSYS类似,每一步操作都会有对应的Python命令,一个完整的Python编写的脚本文件可以在Abaqus里面运行,而执行完整的 ...
- 用python自动办公 百度_用Python自动办公,做职场高手,16章完整版百度云盘
01.文件 [12.20更新课程代码]用Python自动办公做职场高手.rar [课程代码]从零写Python练手项目:实用脚本.zip [课程代码]四周实现爬虫网站.zip [课程代码]用NumPy ...
- python 自动发微博_用 Python 自动定时发微博
原标题:用 Python 自动定时发微博 其实小帅b已经挺久没有玩微博了,记得上次玩微博还是为了给周杰伦打榜,不过最近心血来潮,觉得俺的微博账号躺着也是躺着,要不就用 Python 做一个自动定时发微 ...
- python自动获取天气_用python获取天气数据,并作定时播报
原标题:用python获取天气数据,并作定时播报 数据挖掘入门与实战 公众号: datadw 思路 1.调用和风天气的API,获取天气数据 2.用百度语音API,将天气数据合成语音 3.用树莓派每天早 ...
- python自动补全_Windows 下python的tab自动补全
Windows 下python的tab自动补全# 对于新学python的朋友来说,python模块的功能多而难记,mac和Linux中有tab自动补全命令功能,使用Windows的同学们怎么办?下面我 ...
- python自动投递简历_用python在前程无忧高效投递简历
在前程无忧上投递简历发现有竞争力分析,免费能看到匹配度评价和综合竞争力分数,能够作投递参考 计算方式php 综合竞争力得分应该越高越好,匹配度评语也应该评价越高越好html 抓取全部职位关键字搜索结果 ...
- python自动发邮件 foxmail_使用 python 脚本实现自动监控网站并发送邮件告警
今天中午的时候,网站莫名奇妙地出现无法访问的现象,持续了两个多小时,等发现问题的时候立刻重启了服务器才恢复正常.为防止同样的事情再次发生,所以就想编写一个自动化脚本来监控网站服务,今天为大家分享一下使 ...
- python自动控制程序_巧用 python 脚本控制你的C程序
python是一门艺术语言,除了开发桌面程序,还能够开发网络应用,数据库应用,还可以代替shell编写一些的实用脚本,本文主要讲述了如何利用 python 程序控制你的 C 程序的行为. 作为例子,本 ...
最新文章
- Foxmail邮件如何导入Outlook中
- 99.99%准确率!AI数据训练工具No.1来自中国
- Android启动过程深入解析
- 软工三(5.12上课)
- cad残留卸载清理工具,强力清理CAD注册表残留
- ubuntu14安装火狐浏览器(firefox)中国版
- 【FinE】EMD/EEMD方法及金融数据分解
- VSCODE mac版下载慢解决办法
- 从根本上降低采购成本,不割韭菜~
- python通过scapy模块进行arp断网攻击
- 发光环绕文字特效怎么做?教程来了
- C++循环---数字统计(自学用)
- 微信小程序开发架构——JavaScript的基本概述 和 JavaScript在 Nodejs、小程序中、浏览器中的使用方法
- 滑动轨迹 曲线 python_python——自动轨迹绘制
- CSRF攻击原理及防护
- 视频剪辑需要专门报班去学吗?
- Python中//符号是什么意思?
- 火车站售票系统课程设计
- hackthebox(HTB) precious 靶机!
- RESTFUL风格规范
热门文章
- 软件测试(Ron Patton著)学习笔记
- 2022-2028中国静脉穿刺针市场现状研究分析与发展前景预测报告
- AVTECH摄像监控存漏洞 可被控组建僵尸网络发起DDoS攻击
- 初中学历能直接自考大专吗 自考有学历要求吗
- AIDE能进行C语言编译吗,java手机编译器AIDE
- 计算机信息素养的三个层次是,信息素养的三个层面包括( A ).doc
- Agora 教程丨一个典型案例,教你如何使用水晶球“数据洞察”
- Common Files文件夹介绍
- 商业智能BI在信息化建设中到底处于一个什么位置?
- 五分钟学后端技术:如何学习分布式系统和相关技术