当你需要处理多个Excel文件时,可能需要编写Python脚本来遍历所有的Excel文件。下面是一个完整的Python代码示例,可以遍历指定文件夹中所有的Excel文件,并打印出每个Excel文件的名称和工作表名称:
准备工作
首先,你需要安装两个Python库pandas和os。在命令行中输入以下命令安装:
pip install pandas
pip install os
Python代码
import pandas as pd
import os
dir_path = r"C:\ExcelFiles" # 这里替换为你自己的文件夹路径
for file in os.listdir(dir_path):
if file.endswith(".xlsx"): # 筛选出Excel文件
file_path = os.path.join(dir_path, file)
print("处理文件:", file)
xl = pd.ExcelFile(file_path)
for sheet_name in xl.sheet_names: # 遍历每个工作表
print(" 工作表名称:", sheet_name)
df = pd.read_excel(file_path, sheet_name=sheet_name)
# 在这里写下要执行的代码,比如读取数据,进行处理等等。
代码解释:
- 首先,我们导入了pandas和os库。
- 然后,定义了一个变量dir_path,表示要遍历的文件夹路径。你需要将其替换为你自己的文件夹路径。
- 接着,我们使用os库中的listdir()函数遍历文件夹中的所有文件,并使用endswith()函数筛选出.xlsx结尾的Excel文件。
- 对于每个Excel文件,我们使用pd.ExcelFile()函数打开,并使用sheet_names属性获取工作表名称。
- 然后,我们使用pd.read_excel()函数读取一个工作表中的数据。你可以在此处添加要执行的代码,比如读取数据,进行处理等等。
下面是两个示例说明:
示例一:读取每个工作表中的数据并处理
import pandas as pd
import os
dir_path = r"C:\ExcelFiles" # 这里替换为你自己的文件夹路径
for file in os.listdir(dir_path):
if file.endswith(".xlsx"): # 筛选出Excel文件
file_path = os.path.join(dir_path, file)
print("处理文件:", file)
xl = pd.ExcelFile(file_path)
for sheet_name in xl.sheet_names: # 遍历每个工作表
print(" 工作表名称:", sheet_name)
df = pd.read_excel(file_path, sheet_name=sheet_name)
# 在这里写下要执行的代码,比如读取数据,进行处理等等。
print(df.head()) # 输出头五行数据
该示例代码输出每个工作表的前五行数据。
示例二:将每个工作表的数据汇总到一个数据框中
import pandas as pd
import os
dir_path = r"C:\ExcelFiles" # 这里替换为你自己的文件夹路径
# 创建一个空的数据框,用于存储所有工作表的数据
df_all = pd.DataFrame()
for file in os.listdir(dir_path):
if file.endswith(".xlsx"): # 筛选出Excel文件
file_path = os.path.join(dir_path, file)
print("处理文件:", file)
xl = pd.ExcelFile(file_path)
for sheet_name in xl.sheet_names: # 遍历每个工作表
print(" 工作表名称:", sheet_name)
df = pd.read_excel(file_path, sheet_name=sheet_name)
# 在这里写下要执行的代码,比如读取数据,进行处理等等。
# 将当前工作表的数据添加到数据框中
df_all = pd.concat([df_all, df], ignore_index=True)
# 输出汇总后的数据框
print(df_all.head())
该示例代码遍历每个Excel文件中的所有工作表,并将数据汇总到一个数据框中,最终输出该数据框。