如何在PowerShell中将CSV某列的十进制值转换为ASCII字符?
PowerShell处理CSV文件:将「Modello」列十进制值转ASCII字符
转换示例
输入CSV数据
| ID | Modello | AltroCampo |
|---|---|---|
| 1 | 80 | Valore1 |
| 2 | 77 | Valore2 |
| 3 | Pippo | Valore3 |
| 4 | 79 | Valore4 |
输出CSV数据
| ID | Modello | AltroCampo |
|---|---|---|
| 1 | P | Valore1 |
| 2 | M | Valore2 |
| 3 | Pippo | Valore3 |
| 4 | O | Valore4 |
实现脚本
# 替换为你的源CSV文件路径,分隔符根据实际情况调整(比如分号";") $sourcePath = "input.csv" $outputPath = "output_processato.csv" # 读取CSV内容 $csvContent = Import-Csv -Path $sourcePath -Delimiter "," # 逐行处理Modello列 foreach ($row in $csvContent) { $decimalValue = 0 # 判断当前值是否为十进制整数 if ([int]::TryParse($row.Modello, [ref]$decimalValue)) { # 转换为对应的ASCII字符 $row.Modello = [char]$decimalValue } # 非数值内容自动保留,无需额外操作 } # 导出处理后的CSV,避免覆盖原文件 $csvContent | Export-Csv -Path $outputPath -Delimiter "," -NoTypeInformation -Encoding UTF8
关键说明
- 使用
[int]::TryParse做安全判断,确保只有纯十进制数值才会被转换,避免非数值内容触发报错 [char]$decimalValue直接将整数映射为对应ASCII字符(范围0-127)Export-Csv参数说明:-NoTypeInformation:移除PowerShell默认添加的类型信息行-Encoding UTF8:保证输出文件的字符编码兼容性
内容的提问来源于stack exchange,提问作者renato cilento
相关产品推荐
相关产品推荐

