Python數(shù)據(jù)庫格式化輸出文檔的思路與方法
如果文案格式是統(tǒng)一的,是否可以通過Python格式化輸出doc/md的文檔?
能用代碼搞定的,盡力不手工
思路首先,數(shù)據(jù)已經(jīng)錄入庫,需要python能讀取數(shù)據(jù)庫,可使用mysql-connector
其次,格式化輸出的文檔,肯定需要文件讀寫操作,需使用os
接著,考慮到各大平臺多數(shù)支持markdown格式,優(yōu)先輸出md格式文檔。若輸出doc,需使用docx
補充,python一鍵執(zhí)行,分頁數(shù)據(jù)操作,接收外部參數(shù),需使用sys
編碼分頁獲取數(shù)據(jù)庫內(nèi)容
import mysql.connector# 數(shù)據(jù)庫中page頁數(shù)據(jù)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# 數(shù)據(jù)庫中page頁數(shù)據(jù)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 Documentfrom docx.shared import Cmdef export_format_md(page, books): fileName = ’善齋書屋第’ + str(page) + ’期.docx’ document = Document() table = document.add_table(rows = 51, cols = 3) # 設置行列數(shù) 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)
一鍵執(zhí)行
python3 xxxx.py 0總結
到此這篇關于Python數(shù)據(jù)庫格式化輸出文檔的文章就介紹到這了,更多相關Python數(shù)據(jù)庫格式化輸出內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!
相關文章:
1. 將properties文件的配置設置為整個Web應用的全局變量實現(xiàn)方法2. html小技巧之td,div標簽里內(nèi)容不換行3. nestjs實現(xiàn)圖形校驗和單點登錄的示例代碼4. 以PHP代碼為實例詳解RabbitMQ消息隊列中間件的6種模式5. python實現(xiàn)自動化辦公郵件合并功能6. python開發(fā)飛機大戰(zhàn)游戲7. laravel ajax curd 搜索登錄判斷功能的實現(xiàn)8. css進階學習 選擇符9. Echarts通過dataset數(shù)據(jù)集實現(xiàn)創(chuàng)建單軸散點圖10. Python 如何將integer轉(zhuǎn)化為羅馬數(shù)(3999以內(nèi))
