Python將Excel表格按某列拆分為多個(gè)sheet實(shí)現(xiàn)過程
正文
實(shí)際數(shù)據(jù)分析中遇到需求,把某個(gè)Excel表格按照某一列分為多個(gè)sheet,并且要求如果某個(gè)key對(duì)應(yīng)的行數(shù)較少應(yīng)該合并到一個(gè)sheet中。
import pandas as pd import bioquest as bq # https://jihulab.com/BioQuest/bioquest
演示
從網(wǎng)上找隨便了個(gè)數(shù)據(jù)做演示用
input_file=r"https://gitee.com/zhjx19/chaoyanghospital/raw/master/%E6%9C%9D%E9%98%B3%E5%8C%BB%E9%99%A22018%E5%B9%B4%E9%94%80%E5%94%AE%E6%95%B0%E6%8D%AE.xlsx" output_file=r"朝陽醫(yī)院.xlsx" key='商品名稱'
讀如數(shù)據(jù),刪除商品名稱為na的行
data = pd.read_excel(input_file) data.dropna(subset=key,inplace=True)
替換/為每,刪除特殊字符(因?yàn)椴荒茏鳛閟heetname)
data.loc[:,key] = bq.st.replaces(string=data.loc[:,key],pattern=r"/",repl="每") data.loc[:,key] = bq.st.replaces(string=data.loc[:,key],pattern=r"[\\*?:/\[\]]",repl="")
如果某個(gè)key對(duì)應(yīng)的行數(shù)少于50則合并在合并的藥物這個(gè)sheet中,其他的key單獨(dú)存在對(duì)應(yīng)的sheet中
keys=data.loc[:,key].unique().tolist()
few_dict = {}
single_dict = {}
for i in keys:
data_sub = data.groupby(key).get_group(i)
if data_sub.shape[0]<50:
few_dict[i] = data_sub
else:
single_dict[i] = data_sub合并sheet
第一次寫出合并的藥物sheet
few = pd.concat(few_dict,ignore_index=True) few.to_excel(output_file, sheet_name="合并的藥物", index=False)
循環(huán)append sheet,最后close
writer = pd.ExcelWriter(output_file, engine='openpyxl',mode="a")
for k,v in single_dict.items():
v.to_excel(writer, sheet_name=f"{k}", index=False)
writer.close()以上就是Python將Excel表格按某列拆分為多個(gè)sheet實(shí)現(xiàn)過程的詳細(xì)內(nèi)容,更多關(guān)于Python拆分Excel表為sheet的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python的反射函數(shù)與內(nèi)省工具深入解析
這篇文章主要為大家介紹了Python的反射函數(shù)與內(nèi)省工具深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
Python登錄并獲取CSDN博客所有文章列表代碼實(shí)例
這篇文章主要介紹了Python登錄并獲取CSDN博客所有文章列表代碼實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下2017-12-12
對(duì)于Python異常處理慎用“except:pass”建議
這篇文章主要介紹了對(duì)于Python異常處理方法的建議,摘選自StackOverflow上的熱門問題的回答,闡述了except:pass的使用時(shí)需要注意的地方,需要的朋友可以參考下2015-04-04
淺談Python采集網(wǎng)頁時(shí)正則表達(dá)式匹配換行符的問題
今天小編就為大家分享一篇淺談Python采集網(wǎng)頁時(shí)正則表達(dá)式匹配換行符的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python創(chuàng)建簡單的神經(jīng)網(wǎng)絡(luò)實(shí)例講解
在本篇文章里小編給大家整理的是一篇關(guān)于如何在Python中創(chuàng)建一個(gè)簡單的神經(jīng)網(wǎng)絡(luò)的相關(guān)知識(shí)點(diǎn),有興趣的朋友們可以參考下。2021-01-01
Python字典中的鍵映射多個(gè)值的方法(列表或者集合)
今天小編就為大家分享一篇Python字典中的鍵映射多個(gè)值的方法(列表或者集合),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10
Python實(shí)現(xiàn)識(shí)別圖片內(nèi)容的方法分析
這篇文章主要介紹了Python實(shí)現(xiàn)識(shí)別圖片內(nèi)容的方法,結(jié)合實(shí)例形式分析了tesseract模塊的下載、安裝配置及使用tesseract模塊進(jìn)行圖片識(shí)別的相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
Python深度學(xué)習(xí)時(shí)序預(yù)測:從數(shù)據(jù)預(yù)處理到DGCRN/Informer模型對(duì)比
本文系統(tǒng)對(duì)比DGCRN動(dòng)態(tài)圖卷積循環(huán)網(wǎng)絡(luò)與Informer長序列學(xué)習(xí)器在PM2.5濃度預(yù)測中的性能,涵蓋184個(gè)站點(diǎn)三年數(shù)據(jù)預(yù)處理、缺失填補(bǔ)、周期特征分析及模型代碼實(shí)現(xiàn),為環(huán)境時(shí)空預(yù)測提供可復(fù)現(xiàn)實(shí)證框架,2026-04-04

