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

Python按指定中间名称读取CSV文件问题(glob返回空数据)

问题解决

核心问题分析

  1. Glob匹配模式错误:你写的[0100]*.csv是字符集合匹配规则,只会匹配以0或1开头的文件,而非文件名中包含0100的文件。
  2. 循环遍历写法错误:glob.glob()返回的是文件名字符串列表,直接用for idx, f in ...会抛出值错误,因为每个元素都是单个字符串,无法拆成两个变量。

修正后的代码

import glob
import pandas as pd

ls_data = list() 
# 用*匹配任意字符,确保文件名中包含0100
for idx, f in enumerate(glob.glob('*0100*.csv')):
    df_temp = pd.read_csv(f, delimiter=';')
    df_temp["layer_number"] = idx
    ls_data.append(df_temp)
    print(idx)
df_L = pd.concat(ls_data, axis=0)

关键改动说明

  • 匹配模式改为*0100*.csv:*表示任意长度的任意字符,能匹配文件名中任意位置包含0100的CSV文件。
  • 用enumerate()包裹glob.glob():同时获取文件的索引idx和文件名f,避免遍历报错。

若仍返回空数据,检查两点:

  • 确认CSV文件路径正确,若文件不在脚本运行目录,需添加完整路径,比如'./target_dir/*0100*.csv'。
  • 确认文件名确实包含0100,注意大小写(glob默认区分大小写,Windows系统除外)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 10:55:14