<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>

          如何利用 pandas 批量合并 Excel?

          共 1715字,需瀏覽 4分鐘

           ·

          2022-06-18 00:57

          今天分享一個(gè)利用Pandas進(jìn)行數(shù)據(jù)分析的小技巧,也是之前有粉絲在后臺進(jìn)行提問的,即如何將多個(gè)pandas.dataframe保存到同一個(gè)Excel中。

          其實(shí)只需要靈活使用pandas中的pd.ExcelWriter()方法即可。

          假設(shè)現(xiàn)在我們有df1 df2 df3三個(gè)dataframe,需要將它們保存到同一個(gè)Excel的不同sheet中,只需要先創(chuàng)建一個(gè)ExcelWriter對象,然后不停寫入就行

          df1 = pd.read_csv('東京奧運(yùn)會獎(jiǎng)牌數(shù)據(jù).csv')
          df2 = pd.read_excel("TOP250.xlsx")
          df3 = pd.read_excel("2020年中國大學(xué)排名.xlsx")

          writer = pd.ExcelWriter('test.xlsx')
          df1.to_excel(writer,sheet_name="df1",index=False)
          df2.to_excel(writer,sheet_name="df2",index=False)
          df3.to_excel(writer,sheet_name="df3",index=False)
          writer.save()

          是不是和常見的文件讀寫with方法類似,我們也可以使用同樣的方法

          with pd.ExcelWriter("test1.xlsx") as xlsxwriter:
          df1.to_excel(xlsxwriter,sheet_name="df1",index=False)
          df2.to_excel(xlsxwriter,sheet_name="df2",index=False)
          df3.to_excel(xlsxwriter,sheet_name="df3",index=False)

          得到的結(jié)果是一樣的,可以將多個(gè)df保存到一個(gè)Excel中

          這個(gè)方法雖然簡單好用,但是如果要保存的 df 太多了,一個(gè)一個(gè)手動去讀取再手動去保存就顯得十分麻煩,另外我們希望sheet是文件名,如果手動復(fù)制粘貼,就更麻煩了。

          我們先簡單拿來一個(gè)小腳本「獲取指定目錄下的全部Excel文件名

          import os
          def getfile(dirpath):

          filelist = []
          for root,dirs,files in os.walk(dirpath):
          for file in files:
          if file.endswith("xlsx") or file.endswith("csv"):
          filelist.append(os.path.join(root,file))

          return filelist

          執(zhí)行一下,可以看到指定目錄下的全部Excel文件名

          下面要做的,我想不用多說了「循環(huán)讀取,自動保存

          filelist = getfile('/Users/liuzaoqi/Desktop/zaoqi/2022公眾號文章/如何保存多個(gè)df')
          writer = pd.ExcelWriter('test.xlsx')
          for file in filelist:
          if file.endswith("xlsx"):
          df = pd.read_excel(file)
          else:
          df = pd.read_csv(file)
          df.to_excel(writer,sheet_name=file.split('/')[-1].split('.')[0],index=False)
          writer.save()

          現(xiàn)在,當(dāng)前目錄下的全部Excel就自動合并到一個(gè)Excel中的不同sheet中,并且sheet名是對應(yīng)的文件名


          來源:早起python

          加入知識星球【我們談?wù)摂?shù)據(jù)科學(xué)】

          500+小伙伴一起學(xué)習(xí)!








          · 推薦閱讀 ·

          盤點(diǎn)2021最佳數(shù)據(jù)可視化作品

          一行代碼實(shí)現(xiàn)地址信息解析

          新一代Python包管理工具來了


          瀏覽 33
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  天天干女人 | 青娱乐国产 | 欧美精品一卡 | 人妻在线视频播放 | 精品7777|