-
问题
如果文案格式是统一的,是否可以通过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 os # python输出表格 def export_format_md(page, books): fileName = '善斋书屋第' + str(page) + '期.md' # 文件追加写入 fd = open(fileName, 'a') fd.write('书目: \n<br>\n\n') fd.write('|索引|作者|书名|\n') fd.write('|:-|:-|:-|\n') for book in books: fd.write('|' + "{0:04d}".format(book[0]) + '|' + book[2] + '|' + book[1] + '\n')
- 格式话输出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
Over
Python 数据库格式化输出文档
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1,引言 Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据...
- afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
- 关系数据库入门 关系数据库概述 数据持久化 - 将数据保存到能够长久保存数据的存储介质中,在掉电的情况下数据也不会...