文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python数据库格式化输出文档的思路与方法

2024-04-02 19:55

关注

问题

如果文案格式是统一的,是否可以通过Python格式化输出doc/md的文档?

能用代码搞定的,尽力不手工

思路

首先,数据已经录入库,需要python能读取数据库,可使用mysql-connector

其次,格式化输出的文档,肯定需要文件读写操作,需使用os

接着,考虑到各大平台多数支持markdown格式,优先输出md格式文档。若输出doc,需使用docx

补充,python一键执行,分页数据操作,接收外部参数,需使用sys

编码

分页获取数据库内容


import mysql.connector

# 数据库中page页数据
def fetch_data_from_db(page):
 cmd = 'select * from xxx order by id limit ' + 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() 
 return values 

格式化输出md文档,md中添加表格样式


import mysql.connector

# 数据库中page页数据
def fetch_data_from_db(page):
 cmd = 'select * from xxx order by id limit ' + 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() 
 return values 

格式话输出doc文档


from docx import Document
from docx.shared import Cm

def export_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 = "书名"
 for index, book in enumerate(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
 if len(args) == 2:
  # 获取分页
  page = args[1] 
  books = fetch_data_from_db(page)
  export_format_md(page, books)

一键执行


python3 xxxx.py 0

总结

到此这篇关于Python数据库格式化输出文档的文章就介绍到这了,更多相关Python数据库格式化输出内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯