如何在Python中导入含无表头Excel数据的多个文件夹?
批量导入无表头Excel数据的Python实现
要一次性导入3个文件夹里的所有无表头Excel数据,用Python的pandas和os库就能搞定,步骤如下:
导入依赖库
先安装并导入必备工具:import pandas as pd import os定义目标文件夹路径
把3个文件夹的绝对路径(或相对路径)存进列表,比如:folder_paths = [ "/path/to/folder1", "/path/to/folder2", "/path/to/folder3" ]初始化空数据集
创建一个空的DataFrame用来汇总所有数据:combined_data = pd.DataFrame()遍历文件夹并读取数据
循环每个文件夹,遍历里面的Excel文件,读取时指定header=None(因为无表头),然后合并到总数据集中:for folder in folder_paths: # 遍历文件夹内所有文件 for filename in os.listdir(folder): # 只处理Excel格式文件(.xlsx/.xls) if filename.endswith((".xlsx", ".xls")): file_path = os.path.join(folder, filename) # 读取无表头数据,header=None表示第一行是数据而非表头 df = pd.read_excel(file_path, header=None) # 追加到总数据集 combined_data = pd.concat([combined_data, df], ignore_index=True)可选:添加自定义表头
因为后续构建ML模型需要特征名称,你可以手动给数据集加表头,比如按列数生成默认名称:# 按数据列数生成col1、col2...格式的表头 num_cols = combined_data.shape[1] combined_data.columns = [f"col{i+1}" for i in range(num_cols)]异常处理优化(可选)
为了避免单个损坏文件导致整个流程中断,可以加try-except块:for folder in folder_paths: for filename in os.listdir(folder): if filename.endswith((".xlsx", ".xls")): file_path = os.path.join(folder, filename) try: df = pd.read_excel(file_path, header=None) combined_data = pd.concat([combined_data, df], ignore_index=True) except Exception as e: print(f"读取文件 {file_path} 失败: {str(e)}")
处理完成后,combined_data就是包含所有文件夹中Excel数据的完整数据集,可直接用于后续机器学习模型构建。
内容的提问来源于stack exchange,提问作者Sounak Sarkar
相关产品推荐
相关产品推荐

