当前位置: 首页 > news >正文

`glob` 模块用于文件路径匹配,以及 `pandas`(通常简写为 `pd`)用于数据处理

glob模块用于文件路径匹配,以及pandas(通常简写为pd)用于数据处理。这是一个常见的 Python 数据分析起始组合,常用于批量读取 CSV、Excel 等格式的文件。

例如,典型用法如下:

# 获取当前目录下所有 .csv 文件路径csv_files=glob("*.csv")# 逐个读取并合并为一个 DataFramedf_list=[pd.read_csv(f)forfincsv_files]combined_df=pd.concat(df_list,ignore_index=True)

注意:glob返回的是字符串列表(文件路径),不自动递归子目录(如需递归,可用glob("**/*.csv", recursive=True));pandas需确保已正确安装(pip install pandas),且文件编码、分隔符等需与实际数据匹配,否则读取可能报错。

当多个 CSV 文件列名不一致时,pd.concat()的默认行为是执行“并集”对齐(outer join)

  • 所有出现过的列名都会保留在结果 DataFrame 中(缺失列处填充NaN);
  • 行数据按列名对齐,未匹配的列自动补NaN
  • 若设置join='inner',则只保留所有文件中共有的列名(交集),其余列被丢弃;
  • 若列名完全无交集,结果将包含全部列,但每行仅在其原始文件对应列上有值,其余全为NaN

⚠️ 风险提示:

  • 列名大小写/空格/不可见字符差异(如"Name"vs"name ")会被视为不同列,导致意外冗余或NaN
  • 相同语义但不同列名(如"user_id""id")不会自动合并,需预先标准化;
  • 数据类型可能因列缺失而强制转为objectfloat64(含NaN时整型列会升为浮点)。

✅ 安全合并推荐步骤:

importpandasaspdfromglobimportglob csv_files=glob("*.csv")dfs=[]forfincsv_files:df=pd.read_csv(f)# ✅ 步骤1:统一列名(如转小写、去首尾空格、替换特殊字符)df.columns=df.columns.str.strip().str.lower().str.replace(r'[^a-z0-9_]','_',regex=True)# ✅ 步骤2:可选——显式指定一致的列顺序与默认值(增强可控性)expected_cols=["id","name","age","city"]# 按业务定义标准 schemaforcolinexpected_cols:ifcolnotindf.columns:df[col]=pd.NA# 或 None / np.nan,保持类型一致性df=df[expected_cols]# 强制列顺序dfs.append(df)# ✅ 步骤3:concat 并统一 dtypes(可选)combined=pd.concat(dfs,ignore_index=True,sort=False)combined=combined.convert_dtypes()# 启用 nullable 类型(如 Int64, string)

补充技巧:

  • 使用pd.concat(..., verify_integrity=True)可检测重复索引(非必需,但调试时有用);
  • 对超大文件,建议分批读取 +dtype预设以节省内存;
  • 生产环境强烈建议添加try...except包裹单个read_csv,记录失败文件便于排查。
http://www.jsqmd.com/news/1352129/

相关文章:

  • 脚本开发实战:从语言选型到工程化实践
  • Ubuntu新手入门:从图形界面到终端命令的完整使用指南
  • 循环赛日程编排:递归分治算法详解与C++实现
  • Unidbg实战:逆向TikTok X-Gorgon签名算法与风控对抗
  • 浏览器请求管理神器:5分钟掌握Header Editor的6大实用技巧
  • 染菌体系化作战(下):设备档案+预防性更换的实操手册
  • 线上投票总被刷票怎么解决?云众评选超强防刷功能+设置防刷教程 - 微信投票小程序
  • 3天搭建企业级AI盈利平台:技术选型与实战指南
  • Blender模型导入Unity方向错乱?FBX导出设置与坐标系转换全解析
  • UE5 UMG菜单闪烁引发GPU崩溃:从渲染异常到TDR超时的诊断与修复
  • 多智能体协作架构实战:从设计到部署的AI团队构建指南
  • [具身智能-796]:直流电机的信号死区?并图示
  • 科学计算与仿真软件核心原理、环境搭建与实战应用指南
  • AI Agent记忆系统设计:从短期缓存到长期知识库的工程实践
  • 机器学习基础:算法原理与工业应用全解析
  • 终极文档下载指南:一键下载30+平台文档的免费神器
  • Promptable动物姿态追踪:少样本跨物种关键点追踪实践指南
  • 航空航天薄壁件检测方案
  • 筑宅安房屋修缮|柳州防水补漏专业公司,解决梅雨季房屋渗水漏水 - 筑宅安
  • 2026 杭州中央空调维修空调维修,商用家电制冷设备实测 - LYL仔仔
  • GPT-4o图像API实战指南:从多模态理解到应用开发
  • 丽江靠谱武校有哪些?2026年毕业生去向及升学保障情况参考 - 圣龙武术朱老师
  • 手把手教你学 Simulink—— 磁场调制电机(FMM)的新型控制策略建模与仿真
  • 医疗图像超分辨率实战:从零构建数据集与退化模型全流程
  • Elsevier Tracker:科研投稿者的终极审稿进度追踪助手
  • QQ空间说说备份终极指南:5分钟快速保存你的数字记忆
  • 3分钟掌握原神抽卡数据分析:免费导出工具完整指南
  • 终极指南:3步让老Mac免费运行最新macOS系统
  • 跨境电商多语种本地化实战指南与避坑策略
  • 如何用JX3Toy轻松玩转剑网3:新手必读的终极自动化指南