【发布时间】:2016-10-28 03:25:44
【问题描述】:
由于限制,我需要使用 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 被修改,我只需要该管道之前的数字。它还必须保持三位数字,因此 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%
【问题讨论】:
标签: excel powershell csv