当前位置: 首页 > 编程笔记 >

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

许庆
2023-03-14
本文向大家介绍Python数据库格式化输出文档的思路与方法,包括了Python数据库格式化输出文档的思路与方法的使用技巧和注意事项,需要的朋友参考一下

问题

如果文案格式是统一的,是否可以通过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数据库格式化输出内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 前面章节介绍了如何使用 % 操作符对各种类型的数据进行格式化输出,这是早期 Python 提供的方法。自 Python 2.6 版本开始,字符串类型(str)提供了 format() 方法对字符串进行格式化,本节就来学习此方法。 format() 方法的语法格式如下: str.format(args) 此方法中,str 用于指定字符串的显示样式;args 用于指定要进行格式转换的项,如果有多项,之

  • 本文向大家介绍python 格式化输出百分号的方法,包括了python 格式化输出百分号的方法的使用技巧和注意事项,需要的朋友参考一下 python的百分号输出比较奇怪,代码如下 以上这篇python 格式化输出百分号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我们可以看到格式化就是通过格式字符串得到特定格式: format!("{}", foo) -> "3735928559" format!("0x{:X}", foo) -> "0xDEADBEEF" format!("0o{:o}", foo) -> "0o33653337357" 根据使用的参数类型,同样的变量(foo)能够格式化成不同的形式:X, o 和未指定形式。 这个格式化的功能是通过 t

  • 本文向大家介绍Yii2 输出xml格式数据的方法,包括了Yii2 输出xml格式数据的方法的使用技巧和注意事项,需要的朋友参考一下 php中对xml的处理,虽然说实际开发中目前用的少了,但是难免会用到,用到的时候呢,总结起来还是稍稍有那么一丁点的麻烦。 我们来看看yii2中是怎么对xml进行处理的。会超乎你想象的简单哦。 我们以输出xml格式的数据为例。 既然是输出,必然就涉及到web请求与响应了

  • 本文向大家介绍python中json格式数据输出的简单实现方法,包括了python中json格式数据输出的简单实现方法的使用技巧和注意事项,需要的朋友参考一下 主要使用json模块,直接导入import json即可。 小例子如下: 以上就是小编为大家带来的python中json格式数据输出的简单实现方法全部内容了,希望大家多多支持呐喊教程~

  • 问题 你需要将数字格式化后输出,并控制数字的位数、对齐、千位分隔符和其他的细节。 解决方案 格式化输出单个数字的时候,可以使用内置的 format() 函数,比如: >>> x = 1234.56789 >>> # Two decimal places of accuracy >>> format(x, '0.2f') '1234.57' >>> # Right justified in 10