掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
寫入后的格式如下圖所示:

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:申請域名、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、寶山網(wǎng)站維護、網(wǎng)站推廣。
以下為數(shù)據(jù)用例:
- import xlsxwriter as xw
- import pandas as pd
- import openpyxl as op
- "-------------數(shù)據(jù)用例-------------"
- orderIds = [1,2,3]
- items = ['A','B','C']
- myData = [10,20,30]
- testData = [orderIds,items,myData]
- filename1 = '測試1.xlsx'
- filename2 = '測試2.xlsx'
- filename3 = '測試3.xlsx'
- "--------------執(zhí)行----------------"
- xw_toexcel(testData,filename1)
- pd_toexcel(testData,filename2)
- op_toexcel(testData,filename3)
下面開始分別介紹三種方法:
01 xlsxwriter
- def xw_toexcel(data,filename): # xlsxwriter庫儲存數(shù)據(jù)到excel
- workbook = xw.Workbook(filename) # 創(chuàng)建工作簿
- worksheet1 = workbook.add_worksheet("sheet1") # 創(chuàng)建子表
- worksheet1.activate() # 激活表
- title = ['序號','項目','數(shù)據(jù)'] # 設(shè)置表頭
- worksheet1.write_row('A1',title) # 從A1單元格開始寫入表頭
- i = 2 # 從第二行開始寫入數(shù)據(jù)
- for j in range(len(data)):
- insertData = [data[0][j],data[1][j],data[2][j]]
- row = 'A' + str(i)
- worksheet1.write_row(row, insertData)
- i += 1
- workbook.close() # 關(guān)閉表
02 pandas
- def pd_toexcel(data,filename): # pandas庫儲存數(shù)據(jù)到excel
- dfData = { # 用字典設(shè)置DataFrame所需數(shù)據(jù)
- '序號':data[0],
- '項目':data[1],
- '數(shù)據(jù)':data[2]
- }
- df = pd.DataFrame(dfData) # 創(chuàng)建DataFrame
- df.to_excel(filename,index=False) # 存表,去除原始索引列(0,1,2...)
03 openpyxl
- def op_toexcel(data,filename): # openpyxl庫儲存數(shù)據(jù)到excel
- wb = op.Workbook() # 創(chuàng)建工作簿對象
- ws = wb['Sheet'] # 創(chuàng)建子表
- ws.append(['序號','項目','數(shù)據(jù)']) # 添加表頭
- for i in range(len(data[0])):
- d = data[0][i], data[1][i], data[2][i]
- ws.append(d) # 每次寫入一行
- wb.save(filename)
小結(jié)
openpyxl 與 xlsxwriter 類似,需要逐行寫入,如第一行需要得到 [ 1, ‘A’ , 10 ] 的格式,但不同的是使用openpyxl.load_workbook(filepath)可以對已存在的 .xlsx 進行追加數(shù)據(jù),不會覆蓋;pandas 則需先按列組合,如 [[ 1,2,3],['A','B','C'],[…]]的格式。
方法各有好處,寫表時應(yīng)根據(jù)需要選用。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
微信二維碼
Copyright © 2002-2023 uogjgqi.cn 快上網(wǎng)建站品牌 QQ:244261566 版權(quán)所有 備案號:蜀ICP備19037934號
微信二維碼
移動版官網(wǎng)