匹配一个文件夹下的所有excel——python

匹配一个文件夹下的所有excel------python(这里写自定义目录标题)

下面展示使用OID匹配所有excel文件的 代码片。这里的OID对应你匹配的基准变量。

首先,保证所有文件中都存在OID,且对应的目标样本相同。

然后,将路径(文件保存地址)和OID换成自己的就可以了

javascript 复制代码
#导入相关库
import os
import pandas as pd

# 设置文件夹路径,这里""中改成你自己的路径
excel_folder = r"C:\Users\lenovo\Desktop\map"

# 获取文件夹中所有 Excel 文件
excel_files = [f for f in os.listdir(excel_folder) if f.endswith('.xls') or f.endswith('.xlsx')]

# 初始化一个空的 DataFrame 用于合并所有结果
merged_df = pd.DataFrame()

# 遍历每个 Excel 文件
for excel_file in excel_files:
    try:
        # 构建文件路径
        excel_path = os.path.join(excel_folder, excel_file)

        # 读取 Excel 文件
        df = pd.read_excel(excel_path)

        # 检查是否包含 'OID' 列
        if 'OID' in df.columns:
            # 如果是第一个文件,则初始化 merged_df
            if merged_df.empty:
                merged_df = df
            else:
                # 基于 'OID' 列进行合并
                merged_df = pd.merge(merged_df, df, on='OID', how='outer')

            print(f"Successfully processed {excel_file}.")
        else:
            print(f"Warning: 'OID' column not found in {excel_file}. Skipping file.")

    except Exception as e:
        print(f"Error processing {excel_file}: {e}")

# 导出合并后的结果到新的 Excel 文件
output_path = os.path.join(excel_folder, "merged_output.xlsx")
merged_df.to_excel(output_path, index=False)

print(f"All processing complete. Results saved to {output_path}")
相关推荐
FRing03几秒前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
西索斯coding5 分钟前
Grok 4.7 调用一直 401 怎么办?不是 Key 过期,是 Authorization 头格式问题——排查全流程 + 修复示例
服务器·开发语言·ai·php
用户6602676118796 分钟前
登录成功就能读取任意任务 ID 吗?给 SaaS 读写加上租户范围
python
用户76241175670521 分钟前
第十五章 数据分析
python·数据分析
2601_9619633837 分钟前
电子合同检索与全文搜索怎么测、怎么选:六个指标 + 五家平台对比 + 八个自测问题
数据库·后端·python·django·智能合约
SEO_juper1 小时前
hreflang 审计工具:外贸多语言站谷歌SEO的隐性杀手
开发语言·人工智能·爬虫·python·seo
WJ.Polar1 小时前
final、单例类、枚举类、抽象类、接口
java·开发语言
打工仔折腾 AI1 小时前
从零开始大模型微调:基于 PyTorch 与 ChatGLM 的 LoRA 实践指南
人工智能·pytorch·后端·python·深度学习·性能优化·ai agent 实战
小羊没烦恼!1 小时前
C#综合揭秘——Entity Framework 并发处理详解
java·开发语言·前端·javascript·数据库·mysql·c#
艾iYYY1 小时前
【无标题】
linux·开发语言·网络·操作系统