<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python實(shí)現(xiàn)數(shù)據(jù)寫(xiě)入 Excel 的三種模塊

          共 2309字,需瀏覽 5分鐘

           ·

          2021-02-10 21:18


          導(dǎo)讀:本文說(shuō)明如何使用 xlsxwriterpandas、openpyxl 三個(gè)庫(kù)來(lái)實(shí)現(xiàn)數(shù)據(jù)寫(xiě)入 Excel。


          作者:Ryoko
          來(lái)源:凹凸數(shù)據(jù)(ID:alltodata)


          寫(xiě)入后的格式如下圖所示:


          以下為數(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?=?'測(cè)試1.xlsx'
          filename2?=?'測(cè)試2.xlsx'
          filename3?=?'測(cè)試3.xlsx'

          "--------------執(zhí)行----------------"
          xw_toexcel(testData,filename1)
          pd_toexcel(testData,filename2)
          op_toexcel(testData,filename3)

          下面開(kāi)始分別介紹三種方法:


          01 xlsxwriter


          def?xw_toexcel(data,filename):?#?xlsxwriter庫(kù)儲(chǔ)存數(shù)據(jù)到excel
          ????workbook?=?xw.Workbook(filename)?#?創(chuàng)建工作簿
          ????worksheet1?=?workbook.add_worksheet("sheet1")?#?創(chuàng)建子表
          ????worksheet1.activate()?#?激活表
          ????title?=?['序號(hào)','項(xiàng)目','數(shù)據(jù)']?#?設(shè)置表頭
          ????worksheet1.write_row('A1',title)?#?從A1單元格開(kāi)始寫(xiě)入表頭
          ????i?=?2?#?從第二行開(kāi)始寫(xiě)入數(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庫(kù)儲(chǔ)存數(shù)據(jù)到excel
          ????dfData?=?{?#?用字典設(shè)置DataFrame所需數(shù)據(jù)
          ????????'序號(hào)':data[0],
          ????????'項(xiàng)目':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庫(kù)儲(chǔ)存數(shù)據(jù)到excel
          ????wb?=?op.Workbook()?#?創(chuàng)建工作簿對(duì)象
          ????ws?=?wb['Sheet']?#?創(chuàng)建子表
          ????ws.append(['序號(hào)','項(xiàng)目','數(shù)據(jù)'])?#?添加表頭
          ????for?i?in?range(len(data[0])):
          ????????d?=?data[0][i],?data[1][i],?data[2][i]
          ????????ws.append(d)?#?每次寫(xiě)入一行
          ????wb.save(filename)



          小結(jié)


          openpyxl 與 xlsxwriter 類似,需要逐行寫(xiě)入,如第一行需要得到 [ 1, ‘A’ , 10 ] 的格式,但不同的是使用openpyxl.load_workbook(filepath)可以對(duì)已存在的 .xlsx 進(jìn)行追加數(shù)據(jù),不會(huì)覆蓋;pandas 則需先按列組合,如 [[ 1,2,3],['A','B','C'],[…]]的格式。

          方法各有好處,寫(xiě)表時(shí)應(yīng)根據(jù)需要選用。

          本文完整源碼下載:

          https://alltodata.cowtransfer.com/s/067cecabd5004b


          延伸閱讀??

          利用Python進(jìn)行數(shù)據(jù)分析》(原書(shū)第2版)

          推薦語(yǔ):Python數(shù)據(jù)分析經(jīng)典暢銷書(shū)全新升級(jí),第1版中文版累計(jì)銷售100000冊(cè)。針對(duì)Python 3.6進(jìn)行全面修訂和更新,涵蓋新版的pandas、NumPy、IPython和Jupyter。


          干貨直達(dá)??



          更多精彩??

          在公眾號(hào)對(duì)話框輸入以下關(guān)鍵詞
          查看更多優(yōu)質(zhì)內(nèi)容!

          PPT?|?讀書(shū)?|?書(shū)單?|?硬核?|?干貨?|?講明白?|?神操作
          大數(shù)據(jù)?|?云計(jì)算?|?數(shù)據(jù)庫(kù)?|?Python?|?可視化
          AI?|?人工智能?|?機(jī)器學(xué)習(xí)?|?深度學(xué)習(xí)?|?NLP
          5G?|?中臺(tái)?|?用戶畫(huà)像?|?1024?|?數(shù)學(xué)?|?算法?|?數(shù)字孿生

          據(jù)統(tǒng)計(jì),99%的大咖都完成了這個(gè)神操作
          ??


          瀏覽 73
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  午夜级青就| 中文字幕 乱码 中文乱码图片 | 午夜福利污 | 国产一级aaa | 无码无套少妇毛多18PXXXX |