我想知道是否有人知道一種方法來實現這一點,而不會破壞數據本身?將標題添加到'|' Powershell中的分隔CSV文件?
我有一個由'|'分隔的CSV文件,這是通過使用SPQuery從Sharepoint檢索數據創建的,並使用out-file導出(因爲export-csv不是一種選擇,因爲我必須將數據存儲在變量中,並且這會在服務器的RAM中進行查詢,遠程查詢不幸的是也不會工作,所以我必須在服務器上執行此操作)。不過,我有我需要的數據,但我想執行一些操作,並移動和自動調整excel文件中的某些數據,並導出所述的excel文件。
我現在的問題是,我需要一個頭文件。我曾嘗試使用下面的代碼嘗試:
$header ="Name|GF_GZ|GF_Title|GF_UniqueId|GF_OldId|GFURL|GF_ITEMREDIRECTID"
$file = Import-Csv inputfilename.csv -Header $header | Export-Csv D:\outputfilename.csv
在PowerShell中,但這裏的問題是,當我進行第二齣口-CSV將在任何有逗號分隔,因此刪除它時,我就需要數據保持不變。
我嘗試玩-Delimit'|'設置在導入和導出路徑上,但無論我做什麼,它似乎都會切斷數據。有沒有更好的方法來簡單地在頂部(頭部)添加一行而不會搞亂已有的文件結構? 我發現使用分隔符如-delimiter'°'或任何其他特殊字符會完全消除我的問題,但我永遠不能確定這樣的字符是否會顯示在數據集中,因此(如已經說過))正在尋找更「優雅」的解決方案。
謝謝
是的,這是一個我已經考慮過的選項,但我希望整個過程儘可能地人性化地自動化,接下來的步驟(我仍然需要編碼)涉及在多個輸出文件的excel中處理數據,然後進行計算,以便其已經爲我的上司預先格式化,以便能夠快速查看數據。所以雖然這在技術上是一種解決方案,但它並不能幫助我完成自動化部分。感謝評論,但我很感激。 – Orbital
不確定我關注,因爲您首先自動構建帶有標題的CSV,然後附加到它。您是否需要PowerShell腳本來了解如何使用標題創建CSV?我認爲你可以找出那一個。我並不是想表明你應該手動創建這個文件。 – websch01ar
這是我的代碼 do {item} {itemcoll = $ spSourceList.GetItems($ query); foreach($ itemcoll中的$ item){ #write-host $($ item。Url)$($ item [「Sachbearbeiter」]); $ Name = $ item [「Name」]; $ GF_GZ = $ item [「GF_GZ」]; $ GF_Title = $ item [「GF_Title」]; $ GF_UniqueId = $ item [「UniqueId」]; $ GF_OldId = $ item [「OldItemId」]; #$ ITyp2 = $ item [「Content Type」]; 「$ Name | $ GF_GZ | $ GF_Title | $ GF_UniqueId | $ GF_OldId | $ GFURL | $ ITEMREDIRECTID」| $ 0 | $ | $ $ | Out-File -append D:\ BG_SOF_SP01_Abgeschlossen_14Jan.csv#$($ item.Url)| $($ item.UniqueId) } – Orbital