免费大黄网站,久久午夜夜伦鲁鲁片免费无码影视 ,国产又色又爽又黄的,久久国产成人午夜av影院

當(dāng)前位置:首頁(yè) > 軟件 > 正文內(nèi)容

多文件夾下Excel指定列的提取合并

祿以山2年前 (2023-03-16)軟件45
印刷廠直印●彩頁(yè)1000張只需要69元●名片5元每盒-更多報(bào)價(jià)?聯(lián)系電話:138-1621-1622(微信同號(hào))

一、前言

大家好,我是崔艷飛,工作中經(jīng)常遇到,從多個(gè)文件夾下的Excel中,提取指定列,再合并成新的Excel。幾個(gè)文件夾還能應(yīng)付,但要是有成百上千個(gè)文件夾,你就要哭了,本文針對(duì)此問(wèn)題,實(shí)現(xiàn)Python自動(dòng)處理。

二、導(dǎo)入庫(kù)

只需導(dǎo)入OS庫(kù),進(jìn)行文件查詢,和pandas庫(kù)進(jìn)行數(shù)據(jù)處理。

import pandas as pd

import os

三、編寫代碼

*. 定義要提取Excel的總文件夾路徑

輸入要提取的文件夾、定義要提取的列、指定要保存輸出結(jié)果的文件位置

#要提取EXCEL的總文件夾路徑

path="D:/a/"

# 定義要提取的列名

key=['A','B']

path2 = os.listdir(path)

#定義輸出合并結(jié)果文件名

bb = path + 'result.xlsx'

writer = pd.ExcelWriter(bb,engine='openpyxl')

2. 獲取所有待提取的Excel文件List

file_names=[]

for p in path2:

if '.xl' in p:

continue

path3=path+p+"/"

#獲取文件夾下所有EXCEL名

xlsx_names = [x for x in os.listdir(path3) if x.endswith(".xlsx")]

for f in xlsx_names:

file_names.append(path3+f)

3. 循環(huán)讀取所有Excel,提取指定列進(jìn)行合并

df = None

for xlsx_name in file_names:

df* = pd.read_excel(xlsx_name, sheet_name=0, index_col=None,header=0)

_df=df*.loc[:, key]

if df is None:

df = _df

else:

df = pd.concat([df, _df], ignore_index=True)

print(xlsx_name + " 保存成功!共%d個(gè),第%d個(gè)。" % (len(file_names), num))

四、執(zhí)行效果

所有待提取合并的文件夾如下圖:

執(zhí)行代碼成功:

保存結(jié)果文件:

提取結(jié)果文件內(nèi)容如下:

五、總結(jié)

本文介紹了利用Pandas對(duì)批量Excel進(jìn)行提取合并的有關(guān)操作。通過(guò)代碼的演示、運(yùn)行效果的展示,對(duì)Pandas的強(qiáng)大功能有了進(jìn)一步地了解。有你真好,我愛(ài)Python。

收藏0
標(biāo)簽: excel

發(fā)表評(píng)論

訪客

看不清,換一張

◎歡迎參與討論,請(qǐng)?jiān)谶@里發(fā)表您的看法和觀點(diǎn)。