You need to enable JavaScript to run this app. Python解压zip后筛选读取文件夹内纯数字命名CSV文件并合并
优惠活动
大模型
产品
解决方案
定价
更多

Python解压zip后筛选读取文件夹内纯数字命名CSV文件并合并

实现方案

核心筛选逻辑可通过Python字符串内置的isdigit()方法实现:将每个文件名拆分为前缀和后缀,仅保留后缀为.csv、且前缀全部为数字的文件即可。

注意:你现有代码中listdir读取的detail文件夹路径和join拼接文件路径用的路径不一致(前者是han用户目录,后者是han.37),需要先统一避免读取报错。

完整可运行代码如下:

import glob
import pandas as pd
import zipfile
from os import listdir
from os.path import isfile, join, splitext

path = r'C:\Users\han\Desktop\Selenium'
all_files = glob.glob(path + "/*.zip")

# 解压所有zip文件
for filename in all_files:
    with zipfile.ZipFile(filename, 'r') as zip_ref:
        zip_ref.extractall(path)

# 统一detail文件夹路径
detail_path = join(path, 'detail')
# 筛选纯数字文件名的csv
target_csvs = []
for f in listdir(detail_path):
    file_full_path = join(detail_path, f)
    # 跳过文件夹
    if not isfile(file_full_path):
        continue
    # 拆分文件名前缀和后缀
    file_name, file_ext = splitext(f)
    # 校验后缀为csv、前缀纯数字
    if file_ext.lower() == '.csv' and file_name.isdigit():
        target_csvs.append(file_full_path)

# 读取所有符合条件的csv并合并
df_list = []
for csv_path in target_csvs:
    df_list.append(pd.read_csv(csv_path))
merged_result = pd.concat(df_list, ignore_index=True)

合并后的数据会存储在merged_result变量中,可根据需要做后续导出或计算操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 16:15:04