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

如何用Python从文件名提取参数与值并构建DataFrame?

实现步骤

1. 编写参数提取函数

针对文件名的格式,用正则表达式匹配目标参数与对应数值,编写提取函数:

import re
from zipfile import ZipFile
import pandas as pd

def extract_params(filename):
    # 定义各参数的匹配规则
    param_patterns = {
        'H': r'H(\d+)',
        'RW': r'RW(\d+)',
        'Lc': r'Lc(\d+)',
        'G': r'G(\d+)',
        'W': r'W(\d+)'
    }
    params = {}
    for param, pattern in param_patterns.items():
        match_result = re.search(pattern, filename)
        if match_result:
            params[param] = int(match_result.group(1))
    return params

2. 遍历压缩包提取所有文件参数

用ZipFile遍历压缩包内文件,对每个文件名调用提取函数,收集参数数据:

params_collection = []
with ZipFile('DeviceData.zip', 'r') as zip_file:
    for file_name in zip_file.namelist():
        # 仅处理csv格式文件,可根据实际需求调整过滤规则
        if file_name.endswith('.csv'):
            file_params = extract_params(file_name)
            params_collection.append(file_params)

3. 构建DataFrame

将收集到的参数列表转换为DataFrame,可按需处理缺失值:

df = pd.DataFrame(params_collection)
# 示例:用0填充缺失参数值并转为整数类型
df = df.fillna(0).astype(int)
# 查看结果
print(df)

关键注意点

  • 正则匹配规则是针对给定的文件名格式设计的,若后续文件名格式变动,需同步调整对应正则模式
  • 使用with语句操作压缩包可自动释放资源,避免文件占用问题
  • 若存在参数缺失的文件,DataFrame会自动填充NaN,可根据业务需求选择填充默认值或删除无效行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:25:32