PowerShell处理CSV添加字段双引号及跳过首行问题咨询
PowerShell 分号CSV处理实现方案
以下是可直接运行的完整脚本:
# 读取extract.csv,跳过第一行表头后逐行处理 Get-Content -Path ".\extract.csv" -Skip 1 | ForEach-Object { # 按分号拆分当前行内容 $fields = $_ -split ";" # 取前三个字段,可按需添加Trim()去除字段前后空格 $firstname = $fields[0] $lastname = $fields[1] $email = $fields[2] # 生成要求格式的输出行 $output = '"{0}","{1}","{2}","",""' -f $firstname, $lastname, $email # 输出结果,如需写入文件可在此处追加 >> output.csv $output }
需求1:双引号包裹、逗号分隔格式实现说明
- PowerShell 中双引号转义有两种常用方案:
- 方案1:在双引号包裹的字符串内,用反引号+双引号
`"转义,写法示例:$output = "`"$firstname`",`"$lastname`"" - 方案2:用单引号包裹格式模板,不需要额外转义双引号,搭配
-f格式化占位符使用可读性更高,即脚本中使用的写法,不易出现语法错误。
- 方案1:在双引号包裹的字符串内,用反引号+双引号
需求2:忽略第一行表头实现说明
- 调用
Get-Content读取文件时,添加-Skip 1参数即可自动跳过读取到的第一行内容,直接从第二行开始处理。 - 若文件存在编码异常,可在
Get-Content后添加-Encoding UTF8(根据实际编码替换)参数解决乱码问题。
内容的提问来源于stack exchange,提问作者Maxime L
相关产品推荐
相关产品推荐

