Variables 使用Powershell替换CSV中的变量
我有一个混乱的CSV文件,每周都会生成。这是我的开始:Variables 使用Powershell替换CSV中的变量,variables,powershell,csv,scripting,Variables,Powershell,Csv,Scripting,我有一个混乱的CSV文件,每周都会生成。这是我的开始: Company,Division,Department,Location,Job Title,Username 1-Acme INC,9000-CSD,6003-CSD IT,2-Downtown,IT Technician,user1 1-Acme INC,9000-CSD,6002-CSD HR,2-Downtown,HR Generalist,user2 我真正想要的是: Company,Division,Department,Lo
Company,Division,Department,Location,Job Title,Username
1-Acme INC,9000-CSD,6003-CSD IT,2-Downtown,IT Technician,user1
1-Acme INC,9000-CSD,6002-CSD HR,2-Downtown,HR Generalist,user2
我真正想要的是:
Company,Division,Department,Location,Job Title,Username
Acme INC,CSD,CSD IT,Downtown,IT Technician,user1
Acme INC,CSD,CSD HR,Downtown,HR Generalist,user2
基本上我只想去掉该字段的“[numeric]-”部分。我在上下搜索过,找到了用powershell替换CSV字符串的不同变体,但没有找到使用powershell替换CSV中变量文本的正确语法
这就是我目前所拥有的。当我检查输出时,没有任何变化
$csv = Import-Csv .\test.csv
$csv | %{ $_ -replace "^[0-9]+-"}
$csv| Export-Csv .\test.csv -NoTypeInformation -Force
任何帮助都将不胜感激 您需要使用:
$csv = get-content .\test.csv
$csv = $csv -replace "[0-9]+-", ""
$csv | out-file .\test.csv
或者第2行可以是:
$csv = $csv -replace "[0-9]+-"
当我尝试这样做时,它实际上删除了CSV文件中的所有文本,并将其替换为:Length 388需要换行才能正确执行此操作,但希望您能找到答案
$csv=“1-Acme INC,9000-CSD,6003-CSD IT”$csv=$csv-替换“[0-9]+-”$csv
为我返回Acme INC,CSD,CSD IT。请注意,我删除了“^”,这导致它只替换行开头的数字。Tony,这就是我试图逃避的问题。我们这里有数千种可能的选项,所以如果必须输入每种可能性,我也可以不编写脚本。我希望用regex来代替“numeric-”条目。我认为导入csv是这里的症结所在。我在使用$csv变量,就像您在使用get content一样。让我测试一下…为什么不将csv文件作为文本文件处理?您仍然可以将结果输出文件作为csv导入。