Python實(shí)現(xiàn)批量提取Excel數(shù)據(jù)
在數(shù)據(jù)處理和分析的過(guò)程中,Excel 是一種廣泛使用的數(shù)據(jù)存儲(chǔ)格式。使用 Python 可以高效地從多個(gè) Excel 文件中提取數(shù)據(jù),進(jìn)行匯總和分析。本文將詳細(xì)介紹如何使用 pandas、openpyxl 和 xlrd 三種庫(kù)來(lái)批量提取 Excel 數(shù)據(jù),并提供相應(yīng)的示例代碼。
使用 pandas 批量提取 Excel 數(shù)據(jù)
pandas 是一個(gè)強(qiáng)大的數(shù)據(jù)分析庫(kù),它提供了直接讀取和處理 Excel 文件的功能。
1. 安裝 pandas
首先,確保已安裝 pandas 和 openpyxl:
pip install pandas openpyxl
2. 讀取單個(gè) Excel 文件
import pandas as pd
# 讀取 Excel 文件
df = pd.read_excel('data.xlsx')
# 顯示前幾行數(shù)據(jù)
print(df.head())
3. 批量讀取多個(gè) Excel 文件
假設(shè)有多個(gè) Excel 文件存放在一個(gè)文件夾中,文件名格式為 data_1.xlsx, data_2.xlsx,以此類(lèi)推。
import os
# 存放 Excel 文件的文件夾路徑
folder_path = 'path_to_folder'
# 獲取所有 Excel 文件路徑
file_list = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.xlsx')]
# 初始化一個(gè)空的 DataFrame
all_data = pd.DataFrame()
# 逐個(gè)讀取并合并
for file in file_list:
df = pd.read_excel(file)
all_data = all_data.append(df, ignore_index=True)
# 顯示合并后的數(shù)據(jù)
print(all_data.head())
使用 openpyxl 批量提取 Excel 數(shù)據(jù)
openpyxl 是一個(gè)專(zhuān)門(mén)處理 Excel 文件的庫(kù),適用于處理 .xlsx 格式的文件。
1. 安裝 openpyxl
pip install openpyxl
2. 讀取單個(gè) Excel 文件
from openpyxl import load_workbook
# 加載 Excel 文件
wb = load_workbook('data.xlsx')
# 選擇活動(dòng)工作表
ws = wb.active
# 讀取所有數(shù)據(jù)
data = []
for row in ws.iter_rows(values_only=True):
data.append(row)
# 打印數(shù)據(jù)
for row in data:
print(row)
3. 批量讀取多個(gè) Excel 文件
import os
from openpyxl import load_workbook
# 存放 Excel 文件的文件夾路徑
folder_path = 'path_to_folder'
# 獲取所有 Excel 文件路徑
file_list = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.xlsx')]
# 初始化一個(gè)空的列表
all_data = []
# 逐個(gè)讀取并合并
for file in file_list:
wb = load_workbook(file)
ws = wb.active
for row in ws.iter_rows(values_only=True):
all_data.append(row)
# 打印合并后的數(shù)據(jù)
for row in all_data:
print(row)
使用 xlrd 批量提取 Excel 數(shù)據(jù)
xlrd 是一個(gè)用于讀取 Excel 文件的庫(kù),適用于 .xls 和 .xlsx 格式的文件。
1. 安裝 xlrd
pip install xlrd
2. 讀取單個(gè) Excel 文件
import xlrd
# 打開(kāi) Excel 文件
workbook = xlrd.open_workbook('data.xls')
# 選擇工作表
sheet = workbook.sheet_by_index(0)
# 讀取所有數(shù)據(jù)
data = []
for row_idx in range(sheet.nrows):
row = sheet.row_values(row_idx)
data.append(row)
# 打印數(shù)據(jù)
for row in data:
print(row)
3. 批量讀取多個(gè) Excel 文件
import os
import xlrd
# 存放 Excel 文件的文件夾路徑
folder_path = 'path_to_folder'
# 獲取所有 Excel 文件路徑
file_list = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.xls') or f.endswith('.xlsx')]
# 初始化一個(gè)空的列表
all_data = []
# 逐個(gè)讀取并合并
for file in file_list:
workbook = xlrd.open_workbook(file)
sheet = workbook.sheet_by_index(0)
for row_idx in range(sheet.nrows):
row = sheet.row_values(row_idx)
all_data.append(row)
# 打印合并后的數(shù)據(jù)
for row in all_data:
print(row)
總結(jié)
本文詳細(xì)介紹了如何使用 pandas、openpyxl 和 xlrd 三種庫(kù)批量提取 Excel 數(shù)據(jù),并提供了相應(yīng)的示例代碼。通過(guò)這些方法,可以高效地處理多個(gè) Excel 文件,提高數(shù)據(jù)處理的效率。希望這些內(nèi)容能夠幫助大家在實(shí)際開(kāi)發(fā)中更好地處理 Excel 數(shù)據(jù)。
到此這篇關(guān)于Python實(shí)現(xiàn)批量提取Excel數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python批量提取Excel數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pandas DataFrame 警告(SettingWithCopyWarning)的解決
這篇文章主要介紹了pandas DataFrame 警告(SettingWithCopyWarning)的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python實(shí)現(xiàn)輸入若干個(gè)正整數(shù),升序后輸出
這篇文章主要介紹了Python實(shí)現(xiàn)輸入若干個(gè)正整數(shù),升序后輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
詳解用pyecharts Geo實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)熱力圖城市找不到問(wèn)題解決
這篇文章主要介紹了詳解用pyecharts Geo實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)熱力圖城市找不到問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
python+opencv實(shí)現(xiàn)論文插圖局部放大并拼接效果
在做圖像數(shù)據(jù)標(biāo)注時(shí),很難一次就做到精準(zhǔn)標(biāo)注,如果目標(biāo)比較小,即使微調(diào)也難以做到精準(zhǔn),所以就需要另外一個(gè)窗口對(duì)標(biāo)注區(qū)域進(jìn)行局部放大以方便微調(diào),這篇文章主要給大家介紹了關(guān)于python+opencv實(shí)現(xiàn)論文插圖局部放大并拼接效果的相關(guān)資料,需要的朋友可以參考下2021-10-10
Python編程之基于概率論的分類(lèi)方法:樸素貝葉斯
這篇文章主要介紹了Python編程之基于概率論的分類(lèi)方法:樸素貝葉斯,簡(jiǎn)單介紹了其概述,貝葉斯理論和條件概率,以及樸素貝葉斯的原理等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
PyTorch?模型?onnx?文件導(dǎo)出及調(diào)用詳情
這篇文章主要介紹了PyTorch模型onnx文件導(dǎo)出及調(diào)用詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07
Keras 利用sklearn的ROC-AUC建立評(píng)價(jià)函數(shù)詳解
這篇文章主要介紹了Keras 利用sklearn的ROC-AUC建立評(píng)價(jià)函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
python 中xpath爬蟲(chóng)實(shí)例詳解
這篇文章主要介紹了python實(shí)例:xpath爬蟲(chóng)實(shí)例,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
一文帶你解密Python可迭代對(duì)象的排序問(wèn)題
這篇文章主要為大家詳細(xì)介紹一下Python中可迭代對(duì)象的排序問(wèn)題,文中的示例代碼講解詳細(xì),對(duì)我們深入了解Python有一定幫助,感興趣的可以了解一下2022-07-07
Django實(shí)戰(zhàn)之用戶(hù)認(rèn)證(用戶(hù)登錄與注銷(xiāo))
這篇文章主要介紹了Django實(shí)戰(zhàn)之用戶(hù)認(rèn)證(用戶(hù)登錄與注銷(xiāo)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07

