2015-09-03 67 views
0

我有一個文本文件,我想將其轉換爲csv文件。 文本文件數據如下。文本數據轉換爲CSV

Backed Up   Expires  Files  KB C Sched Type Policy 
    ---------------- ---------- -------- -------- - ------------ ------------ 
    08/14/2015 08:12 INFINITY  24270 5790924 N Full Backup WIN_DEFAULT 
    08/14/2015 08:01 INFINITY   14 180963 N Full Backup WIN_DEFAULT 
    08/14/2015 18:00 INFINITY   13 1378724 N Full Backup WIN_DEFAULT 
    08/11/2015 09:45 INFINITY  15500 22320247 N Full Backup WIN_DEFAULT 
    08/11/2015 09:27 INFINITY  108540 23920970 N Full Backup WIN_DEFAULT 
    08/11/2015 09:27 08/02/2016  15 1470559 N Full Backup WIN_DEFAULT 

我試過下面的腳本,但它顯示在csv文件的單列中。

import-csv ANP.TXT -delimiter "`t" | export-csv ANP1.csv 

我試圖Get-contentConvertto-CSV很好,但輸出單柱即將到來。

請告訴我如何將其轉換爲csv。

+0

我認爲問題是,你的文件是不是製表符分隔的,我試着用同樣的命令你樣本數據並獲得與您相同的結果,然後使用製表符編輯文件替換間距,並以此方式工作。 –

+0

感謝您的評論。但是,無論如何,我可以通過腳本將其轉換爲csv。我不想在多個文件上手動執行相同的活動。 – Ironic

+0

如果它實際上不是製表符分隔的數據,那麼您可能必須讀取每行,然後將每個字段值作爲行的子字符串,這不應該太難,因爲數據看起來像必須使用固定寬度的列? –

回答

1

首先使製表符分隔:

Get-Content ANP.txt | ForEach-Object { $_.trimStart().trimEnd() -replace ' +',"`t"} > ANP2.txt 

然後轉換成CSV:

import-csv ANP2.TXT -delimiter "`t" | export-csv ANP.csv 
+0

感謝您的回答。我會試一試。 – Ironic