根据一列

时间:2017-05-11 07:52:40

标签: powershell csv split xlsx xls

我有一个csv文件,我必须根据列的值进行拆分。 我正在使用以下脚本来执行此操作:

Import-Csv test.csv | Group-Object -Property "Nr dep" | 
Foreach-Object {$path=$_.name+".csv" ; $_.group | 
Export-Csv -Path E:\PowerShell\script\$path -NoTypeInformation}

该文件基于Nr dep值列拆分为文件,但带引号,仅适用于逗号分隔的csv文件。 我尝试使用-replace,但仍然没有结果(也许我写得不好)

Import-Csv test.csv | Group-Object -Property "Nr dep" | 
Foreach-Object {$path=$_.name+".csv" ; ($_.group | 
ConvertTo-Csv  -NoTypeInformation)  -replace '"', "" | Out-File E:\PowerShell\script\$path -Force}

1)如何将分隔设为半逗号而不是逗号
2)我怎样才能摆脱引号
3)是否可以使用.xlsx outfile而不是.csv文件

1 个答案:

答案 0 :(得分:0)

1)您可以使用-Delimiter参数指定分隔符:

Import-Csv test.csv -Delimiter ';'

2)使用你已经做过的-replace '"'

3)你需要一个框架//应用程序。