簡體   English   中英

導入Excel,使用PowerShell導出CSV

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM