批量扫描当前目录CSV文件 新增shop列提取URL店铺子串
批量CSV新增shop列自动化方案
优先使用Windows自带的PowerShell实现,不需要安装额外运行环境,字符串匹配逻辑稳定,对CSV格式兼容性好。纯批处理(batch)对结构化CSV、带特殊字符的URL处理容错性极差,不推荐使用。
实现脚本
将以下代码保存为Add-ShopColumn.ps1,放到存放所有待处理CSV的文件夹中:
# 扫描当前文件夹下所有CSV文件 Get-ChildItem -LiteralPath $PSScriptRoot -Filter "*.csv" -File | ForEach-Object { # 读取CSV结构化数据 $records = Import-Csv -LiteralPath $_.FullName # 逐行提取店铺标识 foreach ($record in $records) { $shopValue = "" if ($record.'item url' -match 'https://([^.]+)\.shopdomain') { $shopValue = $matches[1] } # 新增shop列 $record | Add-Member -NotePropertyName "shop" -NotePropertyValue $shopValue -Force } # 写回原文件,UTF8编码避免中文乱码 $records | Export-Csv -LiteralPath $_.FullName -NoTypeInformation -Encoding UTF8 }
使用步骤
- 重要提醒:运行前请务必备份所有原CSV文件,避免操作失误导致数据损坏
- 打开存放CSV和脚本的文件夹,在地址栏输入
powershell按回车,直接调出当前路径的PowerShell窗口 - 执行命令
.\Add-ShopColumn.ps1,等待脚本运行完成即可
效果验证
针对给出的示例数据:
原始CSV内容:
ID,buyer,item url 01,Tom,https://safariland.shopdomain.com/fghj/shoes 02,Sam,https://beastofshoes.shopdomain.com/ukgl/offers/1424
处理后输出结果:
ID,buyer,item url,shop 01,Tom,https://safariland.shopdomain.com/fghj/shoes,safariland 02,Sam,https://beastofshoes.shopdomain.com/ukgl/offers/1424,beastofshoes
提取结果完全符合预期,脚本会自动跳过URL格式不匹配的行,对应shop列留空,不会中断运行。
内容的提问来源于stack exchange,提问作者Rockwell
相关产品推荐
相关产品推荐

