![](/img/trans.png)
[英]PowerShell - Import Excel then Export CSV without using Excel or COM
[英]Import Excel, Export CSV with PowerShell
由於限制,我需要使用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%
編輯:
$expandfile = Import-Csv "C:\path\to\my\file\test.csv" | ForEach-Object {
$_."Tiam`r`nName" = $_."Tiam`r`nName".SubString(0,3)
$_
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.