Python数据库格式化输出文档的思路与方法
问题
如果文案格式是统一的,是否可以通过Python格式化输出doc/md的文档?
能用代码搞定的,尽力不手工
思路
首先,数据已经录入库,需要python能读取数据库,可使用mysql-connector
其次,格式化输出的文档,肯定需要文件读写操作,需使用os
接着,考虑到各大平台多数支持markdown格式,优先输出md格式文档。若输出doc,需使用docx
补充,python一键执行,分页数据操作,接收外部参数,需使用sys
编码
分页获取数据库内容
importmysql.connector #数据库中page页数据 deffetch_data_from_db(page): cmd='select*fromxxxorderbyidlimit'+str(page*50)+','+str(50) conn=mysql.connector.connect(user='xxx',password='xxx',database='xxx') cursor=conn.cursor() cursor.execute(cmd) values=cursor.fetchall() conn.commit() cursor.close() conn.close() returnvalues
格式化输出md文档,md中添加表格样式
importmysql.connector #数据库中page页数据 deffetch_data_from_db(page): cmd='select*fromxxxorderbyidlimit'+str(page*50)+','+str(50) conn=mysql.connector.connect(user='xxx',password='xxx',database='xxx') cursor=conn.cursor() cursor.execute(cmd) values=cursor.fetchall() conn.commit() cursor.close() conn.close() returnvalues
格式话输出doc文档
fromdocximportDocument fromdocx.sharedimportCm defexport_format_md(page,books): fileName='善斋书屋第'+str(page)+'期.docx' document=Document() table=document.add_table(rows=51,cols=3)#设置行列数 table.cell(0,0).text="索引" table.cell(0,1).text="作者" table.cell(0,2).text="书名" forindex,bookinenumerate(books): table.cell(index+1,0).text="{0:05d}".format(book[0]) table.cell(index+1,1).text=book[2] table.cell(index+1,2).text=book[1] document.save(fileName)
外部传参获取
if__name__=='__main__': args=sys.argv iflen(args)==2: #获取分页 page=args[1] books=fetch_data_from_db(page) export_format_md(page,books)
一键执行
python3xxxx.py0
总结
到此这篇关于Python数据库格式化输出文档的文章就介绍到这了,更多相关Python数据库格式化输出内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。