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

如何用SQL或Excel将CSV/数据库中的数字替换为对应文本?

批量将CSV中数字替换为对应文本的解决方案

针对你有64列数字需要替换为对应文本的场景,Excel单值查找替换效率太低且容易出错,这里提供三种靠谱的解决方法:

方法1:Excel公式批量映射(适合无编程基础)

  1. 创建映射表:新建一个工作表,在A列输入所有需要替换的数字,B列输入对应的文本(比如A1=1对应B1=fatal,A2=2对应B2=serious,以此类推补全所有规则)。
  2. 应用XLOOKUP公式:回到原数据工作表,在目标列旁的空白单元格输入:
    =XLOOKUP(C2, 映射表!$A:$A, 映射表!$B:$B, "无匹配")
    
    (把C2换成你要替换的第一个单元格,映射表是你新建的工作表名称)
  3. 批量覆盖多列:选中公式单元格,鼠标移到右下角变成十字后,按住右键向右拖动到所有需要替换的列,松开右键选择「复制单元格」。
  4. 固化结果:选中所有公式生成的列,复制后右键选择「粘贴为数值」,再替换原数据列即可。

方法2:Excel Power Query高效批量转换

Power Query是处理大量数据转换的利器,适合64列这种规模的场景:

  1. 导入CSV到Power Query:点击「数据」选项卡 → 「自文本/CSV」,选择你的文件导入。
  2. 定义映射规则:进入Power Query编辑器后,打开「高级编辑器」,替换为以下代码(根据实际情况补充映射表和文件路径):
    let
        // 定义所有数字-文本映射规则
        映射表 = #table(
            {"数字", "文本"},
            {
                {1, "fatal"},
                {2, "serious"},
                {3, "slight"},
                // 在这里继续添加其他所有列的映射规则
            }
        ),
        // 读取CSV文件
        源 = Csv.Document(File.Contents("你的CSV文件完整路径"), [Delimiter=",", Encoding=1252]),
        // 提升第一行为表头
        提升标题行 = Table.PromoteHeaders(源, [PromoteAllScalars=true]),
        // 批量替换所有列的数字
        批量替换 = Table.TransformColumns(提升标题行, 
            List.Transform(Table.ColumnNames(提升标题行), (列名) => {
                列名, 
                each Table.Lookup(映射表, "数字", _, "文本")
            })
        )
    in
        批量替换
    
  3. 导出结果:点击「关闭并上载」,将转换后的数据导入Excel,再导出为新的CSV文件。

方法3:Python脚本灵活处理(适合有编程基础)

用pandas库可以快速完成批量替换,代码示例如下:

import pandas as pd

# 按列定义映射规则,key是列名,value是数字-文本的字典
column_mappings = {
    "casualty class": {1: "fatal", 2: "serious", 3: "slight"},
    # 补充其他63列的映射规则,比如:
    # "damage_level": {0: "none", 1: "minor", 2: "severe"},
}

# 读取CSV文件
df = pd.read_csv("your_input_file.csv")

# 遍历每一列进行替换
for col, mapping in column_mappings.items():
    if col in df.columns:
        # 替换数字,无匹配的保留原内容
        df[col] = df[col].map(mapping).fillna(df[col])

# 保存处理后的CSV
df.to_csv("your_output_file.csv", index=False)

为什么Excel查找替换没成功?

通常是这几个原因:

  • 你尝试的是单值逐个替换,无法批量覆盖64列;
  • 数字格式不匹配(比如原数据是文本型数字,而你查找的是数值型数字,导致匹配失败);
  • 没有选中全部需要替换的列范围,只替换了单个列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 11:20:27