1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 2309字,需瀏覽 5分鐘

         ·

        2021-02-10 21:18


        導(dǎo)讀:本文說明如何使用 xlsxwriter、pandasopenpyxl 三個庫來實現(xiàn)數(shù)據(jù)寫入 Excel。


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


        寫入后的格式如下圖所示:


        以下為數(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ù)需要選用。

        本文完整源碼下載:

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


        延伸閱讀??

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

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


        干貨直達??



        更多精彩??

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

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

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


        瀏覽 73
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            5858成人免费A片 | av作品番号库大全 | 又粗又长又硬爽死我了视频 | 国产在线一二三四 | 夜夜夜夜夜撸 | 国产欧美又粗又猛又爽老小说 | 成人做爱视频在线观看 | cao死你个小sao货湿透了视频 | 国产女教师精品久久久av | 亚洲第一色在线观看 |