1. 程式人生 > >Python指令碼:實現資料庫匯出資料到excel表格,支援mysql,postergrsql,MongoDB

Python指令碼:實現資料庫匯出資料到excel表格,支援mysql,postergrsql,MongoDB

import xlwt


#返回需要匯出的物件的集合,根據業務字型實現
def getObjList():
    return []

# 制定 表格行 和資料庫欄位的對應
obj_feild = {
    0: 'name',  # 表格第一行是名字
    1: 'age',  # 表格第二行是年齡
    2: 'sno',  # 表格第三行是學號
    3: 'sex',  # 表格第四行是性別
}
# 制定資料庫欄位和中文的對應
field_chinese = {
    'name':'名字',  # 資料庫欄位 name對應excel表格欄位名字
'age': '年齡', # 資料庫欄位 age 對應excel欄位 年齡 'sno':'學號', # 同上 'sex':'性別', # 同上 } def dbexportXls(file_path,obj_feild,field_chinese): workbook = xlwt.Workbook() #生成一個sheet sheet = workbook.add_sheet('1', cell_overwrite_ok=True) table_attrs = collections.OrderedDict()
# 寫入表格的屬性值 for k, v in obj_feild.items(): sheet.write(0, int(k), field_chinese[v]) table_attrs[int(k)] = v print('表格屬性:', table_attrs) #獲得要匯出的物件集合 results = getObjList() #遍歷物件集合 for i in range(0,len(results)): row = results[i]
for j in obj_feild: sheet.write(i+1,int(j),row[obj_feild[j]]) #儲存表格 workbook.save(file_path) if os.path.isfile(file_path): print('資料庫中成功匯出資料') else: print('資料庫匯出錯誤') #呼叫 if __name__ == '__main__': dbexportXls('/usr/text.xlsx',obj_feild,field_chinese)

使用  引數file_path 就是你需要匯出表格的名字  建議以  .xls 結尾