Python指令碼:實現資料庫匯出資料到excel表格,支援mysql,postergrsql,MongoDB
阿新 • • 發佈:2018-12-28
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 結尾