Pandas實(shí)現(xiàn)批量拆分與合并Excel的示例代碼
前言
提示:這里可以添加本文要記錄的大概內(nèi)容:
將一個(gè)EXCEL等份拆成多個(gè)EXCEL
將多個(gè)小EXCEL合并成一個(gè)大EXCEL并標(biāo)記來(lái)源
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、拆分成小表格
代碼如下(示例):
import pandas as pd
import os
work_dir=r"G:\360Downloads\myself\zuoye\合并拆分"
splits_dir=f"{work_dir}\splits"
#如果不存在splits文件夾則創(chuàng)建它
if not os.path.exists(splits_dir):
os.mkdir(splits_dir)
#引入源文件
df_source=pd.read_excel(f"{work_dir}/5月份臺(tái)賬.xlsx",sheet_name="5月份臺(tái)賬87334",skiprows=2)
df_source.head(3)
df_source.index
df_source.shape
total_row_count=df_source.shape[0]
total_row_count
#拆分成多個(gè)大小相同的excel
#1.使用df.iloc方法
#2.使用dataframe.to_excel保存到每個(gè)小excel中
#計(jì)算拆分后小excel的行數(shù)
user_names=["xiaoA","xiaoB","xiaoC","wmy","jzz","xmw"]
#每個(gè)人的任務(wù)數(shù)
split_size=total_row_count//len(user_names)
if total_row_count%len(user_names)!=0:
split_size+=1
split_size
#拆分多個(gè)dataframe
df_subs=[]
#enumerate() 函數(shù)用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列
for idx,user_name in enumerate(user_names):
#iloc的開(kāi)始索引
begin=idx*split_size
#iloc的結(jié)束索引
end=begin+split_size
#實(shí)現(xiàn)df按照iloc拆分
df_sub=df_source.iloc[begin:end]
#將每個(gè)子df存入列表
df_subs.append((idx,user_name,df_sub))
#將每個(gè)dataframe存入excel
for idx,user_name,df_sub in df_subs:
filename=f"{splits_dir}/ee_{idx}_{user_name}.xlsx"
df_sub.to_excel(filename,index=False)

二、合并excel
1.介紹
1、遍歷文件夾,得到要合并的excel文件列表
2、分別讀取到dataframe,給每一列標(biāo)記來(lái)源
3、使用pd.conca進(jìn)行df批量合并
4、將合并后的dataframe輸出到excel
2.代碼
代碼如下(示例):
import pandas as pd
import os
work_dir=r"G:\360Downloads\myself\zuoye\合并拆分"
splits_dir=f"{work_dir}\splits"
#如果不存在splits文件夾則創(chuàng)建它
if not os.path.exists(splits_dir):
os.mkdir(splits_dir)
#遍歷文件夾,得到要合并的excel名稱(chēng)列表
excel_names=[]
for excel_name in os.listdir(splits_dir):
excel_names.append(excel_name)
excel_names
df_list=[]
for excel_name in excel_names:
#讀取每個(gè)excel到df
excel_path=f"{splits_dir}/{excel_name}"
df_split=pd.read_excel(excel_path)
username=excel_name.replace("ee_","").replace(".xlsx","")[2:]
print(excel_name,username)
#添加列,用戶名字
df_split["username"]=username
df_list.append(df_split)
#concat合并
df_merged=pd.concat(df_list)
df_merged.shape
df_merged.head()
df_merged["username"].value_counts()
#輸出
df_merged.to_excel(f"{work_dir}/merged.xlsx",index=False)

到此這篇關(guān)于Pandas實(shí)現(xiàn)批量拆分與合并Excel的示例代碼的文章就介紹到這了,更多相關(guān)Pandas拆分合并Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
NumPy 數(shù)組花式索引(Fancy Indexing)的實(shí)現(xiàn)
NumPy的花式索引是一種強(qiáng)大的數(shù)組索引方式,允許通過(guò)整數(shù)數(shù)組或列表一次性訪問(wèn)或修改多個(gè)數(shù)組元素,本文主要介紹了NumPy 數(shù)組花式索引(Fancy Indexing)的實(shí)現(xiàn),感興趣的可以了解一下2025-11-11
numpy 實(shí)現(xiàn)返回指定行的指定元素的位置索引
這篇文章主要介紹了numpy 實(shí)現(xiàn)返回指定行的指定元素的位置索引操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-05-05
Python pandas如何根據(jù)指定條件篩選數(shù)據(jù)
這篇文章主要介紹了Python pandas如何根據(jù)指定條件篩選數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
python 繪圖模塊matplotlib的使用簡(jiǎn)介
這篇文章主要介紹了python 繪圖模塊matplotlib的使用簡(jiǎn)介,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03
Python實(shí)現(xiàn)網(wǎng)絡(luò)通信的HTTP請(qǐng)求Socket編程Web爬蟲(chóng)方法探索
隨著互聯(lián)網(wǎng)的不斷發(fā)展,Python作為一門(mén)多用途的編程語(yǔ)言,提供了強(qiáng)大的工具和庫(kù)來(lái)進(jìn)行網(wǎng)絡(luò)連接和通信,本文將深入探討Python中連接網(wǎng)絡(luò)的方法,包括HTTP請(qǐng)求、Socket編程、Web爬蟲(chóng)和REST?API的使用2024-01-01
python爬不同圖片分別保存在不同文件夾中的實(shí)現(xiàn)
這篇文章主要介紹了python爬不同圖片分別保存在不同文件夾中的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
ubuntu系統(tǒng)下使用pm2設(shè)置nodejs開(kāi)機(jī)自啟動(dòng)的方法
今天小編就為大家分享一篇ubuntu系統(tǒng)下使用pm2設(shè)置nodejs開(kāi)機(jī)自啟動(dòng)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Python爬蟲(chóng)代理IP池實(shí)現(xiàn)方法
在公司做分布式深網(wǎng)爬蟲(chóng),搭建了一套穩(wěn)定的代理池服務(wù),為上千個(gè)爬蟲(chóng)提供有效的代理,保證各個(gè)爬蟲(chóng)拿到的都是對(duì)應(yīng)網(wǎng)站有效的代理IP,從而保證爬蟲(chóng)快速穩(wěn)定的運(yùn)行,所以就想利用一些免費(fèi)的資源搞一個(gè)簡(jiǎn)單的代理池服務(wù)。2017-01-01
Python驗(yàn)證碼識(shí)別方式(使用pytesseract庫(kù))
這篇文章主要介紹了Python驗(yàn)證碼識(shí)別方式(使用pytesseract庫(kù)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-06-06

