利用Python批量循環(huán)讀取Excel的技巧分享
在使用 Python 批量處理 Excel 時(shí)經(jīng)常需要批量讀取數(shù)據(jù),常見的方式是結(jié)合glob模塊,可以實(shí)現(xiàn)將當(dāng)前文件夾下的所有csv批量讀取,并且合并到一個(gè)大的DataFrame中
df_list = []
for file in glob.glob("*.csv"):
df_list.append(pd.read_excel(file))
df = pd.concat(df_list)但是這樣要求讀取的每一個(gè)csv文件格式、列名都是一樣的。
如果想要將每一個(gè)csv獨(dú)立的進(jìn)行讀取,可以使用 os 模塊來循環(huán)遍歷當(dāng)前文件夾中的 CSV 文件,然后使用 Pandas 的 read_csv 函數(shù)來讀取每個(gè)文件
import os
import pandas as pd
df_list = []
for file in os.listdir():
if file.endswith(".csv"):
df_list.append(pd.read_csv(file))現(xiàn)在,df_list 中的每個(gè)元素都是一個(gè) DataFrame,但是這樣依舊不夠完美,調(diào)用的時(shí)候依舊需要手動(dòng)從列表中提取。
那如何自動(dòng)讀取當(dāng)前文件夾下全部CSV數(shù)據(jù),并將每個(gè)CSV賦給不同的變量
可以使用Python中的globals() 函數(shù),它返回一個(gè)字典,其中包含當(dāng)前程序的所有全局變量,例如我們可以使用如下語法來為字典中的某個(gè)鍵賦值:
globals()[key] = value
所以,使用下面的代碼可以實(shí)現(xiàn)自動(dòng)讀取當(dāng)前文件夾下全部CSV數(shù)據(jù),并將每個(gè)CSV賦給不同的變量
df_list = []
for i, file in enumerate(os.listdir()):
if file.endswith(".csv"):
df_list.append(pd.read_csv(file))
for i, df in enumerate(df_list):
globals()[f'df{i+1}'] = df當(dāng)然,類似的方法還可以應(yīng)用于讀取Excel的不同sheet,例如假設(shè)data.xlsx有10個(gè)sheet
df_list = [pd.read_excel("data.xlsx", sheet_name=i) for i in range(10)]
for i, df in enumerate(df_list):
globals()[f"df{i+1}"] = df如果你不清楚數(shù)據(jù)有多少Sheet,也可以使用 sheet_name=None,然后根據(jù)返回的字典自動(dòng)讀取
df_list = pd.read_excel("data.xlsx", sheet_name=None)
for i, (name, df) in enumerate(df_list.items()):
globals()[f"df_{name}"] = df以上就是利用 Python 讀取多份 Excel 的小技巧
到此這篇關(guān)于利用Python批量循環(huán)讀取Excel的技巧分享的文章就介紹到這了,更多相關(guān)Python批量循環(huán)讀取Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python對(duì)文件和目錄進(jìn)行操作的方法(file對(duì)象/os/os.path/shutil 模塊)
下面小編就為大家?guī)硪黄狿ython對(duì)文件和目錄進(jìn)行操作的方法(file對(duì)象/os/os.path/shutil 模塊)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
python基于pygame實(shí)現(xiàn)響應(yīng)游戲中事件的方法(附源碼)
這篇文章主要介紹了python基于pygame實(shí)現(xiàn)響應(yīng)游戲中事件的方法,實(shí)例分析了Python基于pygame針對(duì)鍵盤及鼠標(biāo)事件的響應(yīng)方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
Python函數(shù)裝飾器實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Python函數(shù)裝飾器實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python函數(shù)裝飾器的概念、功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-12-12
python mysql 字段與關(guān)鍵字沖突的解決方式
這篇文章主要介紹了python mysql 字段與關(guān)鍵字沖突的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
python將MongoDB里的ObjectId轉(zhuǎn)換為時(shí)間戳的方法
這篇文章主要介紹了python將MongoDB里的ObjectId轉(zhuǎn)換為時(shí)間戳的方法,涉及Python操作MongoDB及字符串轉(zhuǎn)換的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
Python深度學(xué)習(xí)實(shí)戰(zhàn)PyQt5布局管理項(xiàng)目示例詳解
本文具體介紹基本的水平布局、垂直布局、柵格布局、表格布局和進(jìn)階的嵌套布局和容器布局,最后通過案例帶小白創(chuàng)建一個(gè)有型的圖形布局窗口2021-10-10
Python實(shí)現(xiàn)FTP文件定時(shí)自動(dòng)下載的步驟
這篇文章主要介紹了Python實(shí)現(xiàn)FTP文件定時(shí)自動(dòng)下載的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12

