You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用pd.read_excel读取文件夹报错,求解决方案

解决pd.read_excel读取文件夹报错的问题

错误原因

pd.read_excel() 仅支持读取单个Excel文件路径,你传入的是文件夹路径,openpyxl无法将其识别为合法的Excel文件格式,因此抛出InvalidFileException。传入单个文件路径能正常运行,也验证了这一点。

解决方案

遍历目标文件夹下的所有.xlsx(或openpyxl支持的其他格式)文件,逐个调用pd.read_excel()读取。以下是适配你需求的修改代码:

import numpy as np
import pandas as pd
import os
import glob

# 读取单个Excel文件的函数,保留你原有的逻辑
def get_single_excel(file_path):
    print(f"Reading data from {file_path}")
    data = pd.read_excel(file_path, engine='openpyxl')
    num_rows, num_columns = data.shape
    print("Original data preview:")
    print(data.head(100))  # 输出数据框的前100行
    print(f"Number of rows: {num_rows}")
    print(f"Number of columns: {num_columns}")
    print(f"Total rows in data: {len(data)}")
    return data

# 遍历文件夹读取所有Excel文件的函数
def get_folder_excels(folder_path):
    # 获取文件夹下所有.xlsx格式文件
    excel_files = glob.glob(os.path.join(folder_path, "*.xlsx"))
    # 若需要包含xlsm/xltx/xltm,可修改为:glob.glob(os.path.join(folder_path, "*.xls[xm]"))
    
    all_data = []
    if not excel_files:
        print(f"No Excel files found in {folder_path}")
        return all_data
    
    # 逐个读取文件,异常捕获避免单个文件报错导致程序终止
    for file in excel_files:
        try:
            df = get_single_excel(file)
            all_data.append( (file, df) )
        except Exception as e:
            print(f"Failed to read {file}: {str(e)}")
            continue
    return all_data

# 你的文件夹路径
data_folder = r'E:\SVN_Pengfei\5.2020年工作\BaiduNetdiskWorkspace\1.ATM项目\4.技术文档\高速数据资料\北五环数据\雷达数据'
predict_values_name = ' Speed Value'

# 执行读取
all_excel_data = get_folder_excels(data_folder)

# 后续处理示例(根据你的需求选择):
# 1. 合并所有结构一致的Excel文件到一个DataFrame
# combined_df = pd.concat([df for _, df in all_excel_data], ignore_index=True)
# 2. 遍历每个文件的数据单独处理
# for file_path, df in all_excel_data:
#     # 在这里添加你的处理逻辑
#     pass

额外说明

  • 若需要遍历子文件夹中的Excel文件,将glob.glob()改为glob.glob(os.path.join(folder_path, "**/*.xlsx"), recursive=True)
  • 如果文件夹内存在非Excel文件或损坏的文件,try-except块会跳过这些文件并打印错误信息,保证程序继续运行
  • 若不同Excel文件的结构不一致,建议单独处理每个文件的数据,避免合并出错

内容的提问来源于stack exchange,提问作者J Peg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 21:54:50