2017-03-27 44 views
-1

在powershell中,我只是想將一個固定的文本附加到輸入。Powershell,在csv上面的標題中添加簡單的文本

輸入文件:

Type,PO/CM Number,Buyer Unique Doc ID,Customer,Supplier,Supplier Reference,Buyer Program,Invoice Date,Upload Date,Due/Forecast Date,Original Maturity/Effective Date,Maturity Date/Effective Date,Status,Rejection Reason,Original Value,Deduction,PO Certified/CM Remaining 
PO,A;700505,,D ZZZZZ ELECTRONICS hahaha VE kkkk A.S.,YYYY,2000064,Hexxxxxxx-TR- FFFFFbank,"December 24, 2008","March 17, 2017","April 24, 2017","April 24, 2017","April 24, 2017",Tradable,,150.00 TRY,0.00 TRY,150.00 TRY 

結果:

**Buyer ID, 
1234564789,** 
Type,PO/CM Number,Buyer Unique Doc ID,Customer,Supplier,Supplier Reference,Buyer Program,Invoice Date,Upload Date,Due/Forecast Date,Original Maturity/Effective Date,Maturity Date/Effective Date,Status,Rejection Reason,Original Value,Deduction,PO Certified/CM Remaining 
PO,A;700505,,D ZZZZZ ELECTRONICS hahaha VE kkkk A.S.,YYYY,2000064,Hexxxxxxx-TR- FFFFFbank,"December 24, 2008","March 17, 2017","April 24, 2017","April 24, 2017","April 24, 2017",Tradable,,150.00 TRY,0.00 TRY,150.00 TRY 

csv文件,是一種文件我希望通過導入-CSV

+1

你有什麼試過的,你試過的怎麼樣都失敗了? SO不是代碼寫入服務;最好的問題是提供有用信息的問題,以便那些回答問題的人可以指導你設計自己的正確答案。參見[如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)。 –

+1

但是,要實現這一點並不困難,因爲CSV必須只有一個記錄類型/結構,並且您的修改最終會導致Import-CSV(或者電子表格程序)無法使用的結果與兩個。 –

回答

1

導入如果我們專注於通用任務預加將新內容添加到現有文件中:

@JeffZeitlin已經指出,你所要求的將導致生成的文件而不是Import-Csv正常工作。

一個簡單的,但易碎的實現是:

"Buyer ID,`n1234564789,`n" + (Get-Content -Raw file.csv) | Out-File file.csv 
  • 整個輸入文件被讀取一次,如果該文件是大這可能是不可行的。
    如果沒有足夠的磁盤空間來寫入更新的文件,您的數據也很可能會丟失。

  • 重寫的文件將採用UTF-16 LE編碼(用PowerShell術語說,Unicode);根據需要使用-Encoding參數。

  • 注意使用| Out-File file.csv而非> file.csv,因爲後者會截斷file.csv運行命令之前(如POSIX般的炮彈),讓你的數據會丟失。