<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實現(xiàn)Excel拆分與合并

          共 1745字,需瀏覽 4分鐘

           ·

          2024-03-30 18:30

          在實際工作中,我們經(jīng)常會遇到各種表格的拆分與合并的情況。如果只是少量表,手動操作還算可行,但是如果是幾十上百張表,最好使用Python編程進行自動化處理。下面介紹兩種拆分案例場景,如何用Pandas實現(xiàn)Excel文件的拆分。

          • 按條件將Excel文件拆分到不同的工作簿 假設(shè)現(xiàn)在有一個匯總表,內(nèi)部存儲了整個年級的成績數(shù)據(jù)。現(xiàn)在需要按照班級分類,將不同班級的數(shù)據(jù)拆分到不同的工作簿中,最終實現(xiàn)"三年級總成績單.xlsx"分成”三年一班.xlsx,三年二班.xlsx,三年三班.xlsx“三個不同班級的工作簿。導(dǎo)入pandas模塊,調(diào)用read_excel()方法,用于讀取“三年級總成績單”工作簿中的數(shù)據(jù)。接著,利用for循環(huán),按照“班級”篩選出不同的數(shù)據(jù),并將它們寫入不同的Excel文件中。源碼如下:
                
                import pandas as pd
          import os

          # 在當前目錄下新建一個“班級”文件夾,然后拆分新文件到這個文件夾下
          if not os.path.exists('班級'):
              os.mkdir('班級')

          df = pd.read_excel('../三年級總成績.xlsx')
          # df['班級'].unique()獲取到是不同班級的名稱,df['班級']==i]用于篩選出不同班級中的數(shù)據(jù)。
          for class_name in df['班級'].unique():
              df[df['班級'] == class_name].to_excel(f"{os.path.join(os.getcwd(),'班級')}/{class_name}.xlsx", index=False)

          執(zhí)行上述代碼后,結(jié)果如下圖:376cb14e3946757e39561782bc48662e.webp

          • 按條件將Excel文件拆分到不同的工作表 假設(shè)現(xiàn)在有一個匯總表,內(nèi)部存儲了整個年級的成績數(shù)據(jù)。現(xiàn)在需要按照班級分類,將不同班級的數(shù)據(jù)拆分到一個工作簿的不同工作表中,并保留原來的匯總數(shù)據(jù)工作表。如下圖:

          688a34373d848201575ebc38ee9b690b.webp調(diào)用ExcelWriter()方法,它會幫助我們創(chuàng)建一個空的容器對象writer。基于這個對象,我們可以向同一個Excel文件的不同工作表中,寫入對應(yīng)的表格數(shù)據(jù)。源碼如下:

                
                import pandas as pd
          import os

          df = pd.read_excel('../三年級總成績.xlsx')

          writer = pd.ExcelWriter('三年級總成績單.xlsx')
          df.to_excel(writer, sheet_name='總成績', index=False)

          for j in df['班級'].unique():
              df[df['班級'] == j].to_excel(writer, sheet_name=j, index=False)

          writer.save()

          第一次調(diào)用to_excel()方法時,我們將原來的“匯總數(shù)據(jù)工作表”寫入這個容器對象,并指明了工作表名“總成績”。接著利用for循環(huán)遍歷總表,再次調(diào)用to_excel()方法,并將拆分后的每個班級的數(shù)據(jù),分別寫入同一個容器對象。此時,這個容器對象不僅保存了原來的“匯總數(shù)據(jù)工作表”,還保存了拆分后的每個班級的數(shù)據(jù)。最后調(diào)用容器對象的save()方法,即可將拆分后的數(shù)據(jù)寫入Excel文件中,最終效果如上圖所示。喜歡的朋友可以自己體驗一下,歡迎轉(zhuǎn)發(fā)分享。下期還有合并數(shù)據(jù)的案例與大家分享。感興趣的朋友可以在小蜜蜂AI的ChatGPT問答獲得更多的答案。網(wǎng)址:https://zglg.work。


          瀏覽 47
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  无码三级 | 免费人成视频在线播放 | 青青草午夜 | 又紧又色AV | 国产七区 |