python
主页 > 脚本 > python >

Python实现批量提取Excel数据

2024-12-18 | 佚名 | 点击:

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

使用 pandas 批量提取 Excel 数据

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

1. 安装 pandas

首先,确保已安装 pandas 和 openpyxl:

1

pip install pandas openpyxl

2. 读取单个 Excel 文件

1

2

3

4

5

6

7

import pandas as pd

 

# 读取 Excel 文件

df = pd.read_excel('data.xlsx')

 

# 显示前几行数据

print(df.head())

3. 批量读取多个 Excel 文件

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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

1

pip install openpyxl

2. 读取单个 Excel 文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

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 文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

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

1

pip install xlrd

2. 读取单个 Excel 文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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 文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

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)

总结

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

原文链接:
相关文章
最新更新