导入Excel,使用PowerShell导出CSV
由于限制,我需要使用VB或者PowerShell来完成这个任务。
我有一个Excel,如下所示:
ColumA, ColumB,ColumC,ColumD,ColumE,ColumF 000|Txt,MoreTxt , ColumB,ColumC,ColumD,ColumE,ColumF
我读了关于import_csv -header,但我成功地做到了。 我将在下面发布我的脚本。 我期望的出口是:
ColumA, ColumB, ColumC, ColumD, ColumE, ColumF 000, ColumB, ColumC, ColumD, ColumE, ColumF
只有Colum被修改,而我只需要在这个pipe道之前的数字。 它也必须保持三位数字,所以1变成001等
这是我根据之前的一些查询和MS教程修改的脚本。
$file = import-csv "C:\path\to\my\file\test.csv" foreach ($row in $file){ $tempfile = New-Object psobject -Property @{ ColumA = $row. 'ListName'.substring(0,2) ColumB = $row. 'ColumB' ColumC = $row. 'ColumC' ColumE = $row. 'ColumE' ColumF = $row. 'ColumF' } $expandfile = @() $expandfile += $tempfile | select ColumA, ColumB, ColumC, ColumD, ColumE, ColumF }
PS给我两个错误,不喜欢引号中的所有东西(我认为是列名,但是我猜不是),而且整个数组也是一个分析错误,基本上是整个脚本。
更新提供源代码的真实例子。
"Tiam Name",SiamName,Siam,Ciam,Piam,Liam,Niam,Diam "002|City, State","City, State - Some text (15092)",1,"3,408",99,"3,408",780,22.89% "009|City, State","City, State - Some Text (E) (15450)",1,"1,894",81,"1,894",543,28.67%
编辑:
$expandfile = Import-Csv "C:\path\to\my\file\test.csv" | ForEach-Object { $_."Tiam`r`nName" = $_."Tiam`r`nName".SubString(0,3) $_ }