我的标题如下:
Avis,N° Invent.,Cd.Srv.Cl.,Client Name
我发现此代码可以更改我的标题
Import-Csv "$treatmentfolder\data.csv" |
Select-Object @{expression={$_.Avis}; label='avis'} |
Export-Csv -NoTypeInformation "$treatmentfolder\data2.csv"
如何更改字符为空格的标题名称,.
,°
等?
答案 0 :(得分:3)
要选择并重命名特定字段,请将要更改其名称的字段的名称放在引号中:
... | Select-Object @{n='no_invent';e={$_.'N° Invent.'}}, ... | ...
除了创建重命名的字段外,要替换特定字段,请排除原始字段:
... | Select-Object *,@{n='no_invent';e={$_.'N° Invent.'}} -Exclude 'N° Invent.' | ...
答案 1 :(得分:2)
由于CSV只是一个文本文件,我们可以将其视为文件第一行的字符串替换(数组项first_user
)
此选项使用简单的正则表达式删除任何不属于0
0-9
a-z
A-Z
或,
(空格)的内容,所以只需修改你想留在正则表达式中的任何其他字符。这适用于任何标题名称。
另一个选项是将多个$content = Get-Content -Path "$treatmentfolder\data.csv"
$content[0] = $content[0] -replace '[^0-9a-zA-Z, ]'
Set-Content "$treatmentfolder\data.csv"
链接在一起,这使您可以根据需要添加/删除/更改标题。但与上面的选项不同,它是硬编码到特定的标题名称,因此不能简单地运行不同的文件。
replace