Python 中批量提取 Excel 数据的详细指南

发布于:2024-12-18 ⋅ 阅读:(146) ⋅ 点赞:(0)

更多资料获取

📚 个人网站:ipengtao.com


在数据处理和分析的过程中,Excel 是一种广泛使用的数据存储格式。使用 Python 可以高效地从多个 Excel 文件中提取数据,进行汇总和分析。本文将详细介绍如何使用 pandasopenpyxlxlrd 三种库来批量提取 Excel 数据,并提供相应的示例代码。

使用 pandas 批量提取 Excel 数据

pandas 是一个强大的数据分析库,它提供了直接读取和处理 Excel 文件的功能。

1. 安装 pandas

首先,确保已安装 pandasopenpyxl

pip install pandas openpyxl

2. 读取单个 Excel 文件

import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('data.xlsx')

# 显示前几行数据
print(df.head())

3. 批量读取多个 Excel 文件

假设有多个 Excel 文件存放在一个文件夹中,文件名格式为 data_1.xlsx, data_2.xlsx,以此类推。

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')]

# 初始化一个空的 DataFrame
all_data = pd.DataFrame()

# 逐个读取并合并
for file in file_list:
    df = pd.read_excel(file)
    all_data = all_data.append(df, ignore_index=True)

# 显示合并后的数据
print(all_data.head())

使用 openpyxl 批量提取 Excel 数据

openpyxl 是一个专门处理 Excel 文件的库,适用于处理 .xlsx 格式的文件。

1. 安装 openpyxl

pip install openpyxl

2. 读取单个 Excel 文件

from openpyxl import load_workbook

# 加载 Excel 文件
wb = load_workbook('data.xlsx')

# 选择活动工作表
ws = wb.active

# 读取所有数据
data = []
for row in ws.iter_rows(values_only=True):
    data.append(row)

# 打印数据
for row in data:
    print(row)

3. 批量读取多个 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')]

# 初始化一个空的列表
all_data = []

# 逐个读取并合并
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)

# 打印合并后的数据
for row in all_data:
    print(row)

使用 xlrd 批量提取 Excel 数据

xlrd 是一个用于读取 Excel 文件的库,适用于 .xls.xlsx 格式的文件。

1. 安装 xlrd

pip install xlrd

2. 读取单个 Excel 文件

import xlrd

# 打开 Excel 文件
workbook = xlrd.open_workbook('data.xls')

# 选择工作表
sheet = workbook.sheet_by_index(0)

# 读取所有数据
data = []
for row_idx in range(sheet.nrows):
    row = sheet.row_values(row_idx)
    data.append(row)

# 打印数据
for row in data:
    print(row)

3. 批量读取多个 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')]

# 初始化一个空的列表
all_data = []

# 逐个读取并合并
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)

# 打印合并后的数据
for row in all_data:
    print(row)

总结

本文详细介绍了如何使用 pandasopenpyxlxlrd 三种库批量提取 Excel 数据,并提供了相应的示例代码。通过这些方法,可以高效地处理多个 Excel 文件,提高数据处理的效率。希望这些内容能够帮助大家在实际开发中更好地处理 Excel 数据。


Python学习路线

在这里插入图片描述

更多资料获取

📚 个人网站:ipengtao.com

如果还想要领取更多更丰富的资料,可以点击文章下方名片,回复【优质资料】,即可获取 全方位学习资料包。

在这里插入图片描述
点击文章下方链接卡片,回复【优质资料】,可直接领取资料大礼包。


网站公告

今日签到

点亮在社区的每一天
去签到