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

如何使用Pandas实现型号批量解码及全流程数据管理?

Pandas实现型号解码并导出Excel完整方案

1. 读取Excel生成包含型号的DataFrame

直接用pandas的read_excel方法读取目标文件,按需提取包含型号的列:

import pandas as pd

# 读取Excel文件,假设文件路径为"models.xlsx",型号列名为"型号"
df = pd.read_excel("models.xlsx")
# 查看前几行确认数据
print(df.head())

2. 管理型号含义规则(替代JSON的更优方案)

针对型号分段规则,推荐用嵌套字典存储映射关系,比JSON更直观易维护,适合批量型号匹配。假设型号为「品牌码-尺寸码-材质码」三段式结构,示例规则如下:

model_rules = {
    "品牌": {
        "AB": "甲品牌",
        "CD": "乙品牌",
        "EF": "丙品牌"
    },
    "尺寸": {
        "100": "100mm",
        "120": "120mm",
        "150": "150mm"
    },
    "材质": {
        "PL": "工程塑料",
        "ST": "304不锈钢",
        "AL": "铝合金"
    }
}

如果型号是固定长度分段(比如前2位品牌、中间3位尺寸、最后2位材质),后续解码时可直接用字符串切片拆分,无需分隔符。

3. 编写型号解码函数

自定义函数实现单型号解码,兼容格式异常情况:

def decode_model(model_str, rules):
    result = {}
    try:
        # 按短横线拆分型号(固定长度则用切片:parts = [model_str[:2], model_str[2:5], model_str[5:]])
        parts = model_str.split("-")
        # 按规则映射每个分段含义
        for idx, (key, mapping) in enumerate(rules.items()):
            result[key] = mapping.get(parts[idx], "未知")
    except Exception:
        # 型号格式异常时标记为"格式错误"
        for key in rules.keys():
            result[key] = "格式错误"
    return pd.Series(result)

4. 批量解码并合并为DataFrame

用apply批量处理型号列,将解码结果与原数据合并:

# 对型号列应用解码函数,生成解码后的字段
decoded_df = df["型号"].apply(lambda x: decode_model(x, model_rules))
# 合并原数据和解码结果
final_df = pd.concat([df, decoded_df], axis=1)
# 查看最终数据
print(final_df.head())

5. 保存解码结果到Excel

用to_excel保存最终数据,关闭索引避免生成多余列:

# 保存到指定路径,比如"解码后型号数据.xlsx"
final_df.to_excel("解码后型号数据.xlsx", index=False)

批量型号优化建议

如果型号数量极大(上万条),用矢量化操作替代apply提升效率:

# 矢量化拆分型号列
split_parts = df["型号"].str.split("-", expand=True)
split_parts.columns = list(model_rules.keys())
# 批量映射每个分段的含义
for col, mapping in model_rules.items():
    split_parts[col] = split_parts[col].map(mapping).fillna("未知")
# 合并原数据
final_df = pd.concat([df, split_parts], axis=1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 08:43:32