如何用SSIS自动去除CSV文件中的货币格式并保留数值?
移除CSV中货币格式并保留数值的自动化方案
针对你CSV里带美元符号、空格、千分位逗号的货币格式(比如" $144,552,433 "),下面提供几种可自动化的处理方案:
1. Python脚本(批量处理首选,完全自动化)
用Python的pandas库可以快速批量清洗CSV,适合处理大量文件:
import pandas as pd import os # 处理单个文件的函数 def clean_currency_csv(input_path, output_path): # 读取CSV,保留引号解析规则 df = pd.read_csv(input_path, quotechar='"', dtype=str) # 定义清洗逻辑:移除$、空格、逗号 def clean_val(val): if isinstance(val, str): return val.replace("$", "").replace(" ", "").replace(",", "") return val # 对所有列应用清洗 df_cleaned = df.applymap(clean_val) # 保存处理后的CSV,保留引号格式 df_cleaned.to_csv(output_path, index=False, quotechar='"') # 示例:处理单个文件 clean_currency_csv("原始文件.csv", "清洗后文件.csv") # 如果要批量处理文件夹下所有CSV # for filename in os.listdir("csv文件夹路径"): # if filename.endswith(".csv"): # input_path = os.path.join("csv文件夹路径", filename) # output_path = os.path.join("csv文件夹路径", f"cleaned_{filename}") # clean_currency_csv(input_path, output_path)
使用方法:
- 先安装pandas:
pip install pandas - 替换代码中的文件路径,运行脚本即可
2. Excel Power Query(可视化操作,可复用流程)
适合习惯Excel操作的用户,处理流程可保存复用:
- 打开Excel,点击「数据」选项卡 → 获取数据 → 从文件 → 从CSV,导入你的文件
- 进入Power Query编辑器后,选中所有需要清洗的列(或直接全选)
- 点击「转换」选项卡:
- 先点击「清除格式」,再用「替换值」功能:
- 查找
$,替换为空 - 查找空格,替换为空
- 查找
,,替换为空
- 查找
- 先点击「清除格式」,再用「替换值」功能:
- 完成后点击「关闭并上载」,还可以将这个查询保存,下次导入新CSV时直接复用该清洗流程
3. Notepad++批量替换(快速处理单个文件)
适合临时快速处理:
- 用Notepad++打开CSV文件,按
Ctrl+H打开替换窗口 - 勾选「正则表达式」选项:
- 查找
\$,替换为空,点击「全部替换」 - 查找
\s,替换为空,点击「全部替换」 - 查找
,,替换为空,点击「全部替换」
- 查找
- 注意:如果CSV中存在非货币的逗号(比如分隔符),可以用正则精准匹配引号内的内容:查找
" \$([\d,]+) ",替换为"\1",再单独去掉引号内的逗号
内容的提问来源于stack exchange,提问作者Raymundo Escobedo
相关产品推荐
相关产品推荐

