在 PowerShell 中匯入/匯出 CSV 檔案
在本文中,我們將使用 PowerShell 中的 CSV 檔案,這被認為是處理資料最有效的方法之一。
我們已為本文考慮以下幾點。
使用 PowerShell 將資料匯出到 CSV 檔案。
使用 PowerShell 從 CSV 檔案匯入資料。
讓我們開始吧。
使用 PowerShell 將資料匯出到 CSV 檔案
使用直接命令輸出
要將資料匯出到 PowerShell 中的 csv 檔案,我們可以使用**Out-File**,這是將輸出儲存到檔案的常用 cmdlet。以下命令將在 csv 檔案中獲取前 10 個 CPU 使用率最高的程序。
示例
Get-Process | Sort-Object CPU -Descending | Select -First 10 | Out-File C:\Temp\Top10Procs.csv
輸出
讓我們檢查 csv 檔案。

如您所見,cmdlet 可以檢索輸出,但輸出位於單個列中,這降低了使用者的可讀性,也不是處理資料的有效方法。
PowerShell 提供了另一個內建 cmdlet,**Export-CSV**,它將資料轉儲到 csv 檔案中。我們必須為此命令選擇屬性,因為某些命令在輸出匯出到 csv 檔案時會公開所有屬性。
示例
Get-Process | Sort-Object CPU -Descending | Select -First 10 | ` Select Name, id, CPU, WorkingSet | Export-Csv C:\Temp\Top10Procs.csv
輸出

如果您注意到,輸出顯示了型別資訊(以黃色突出顯示)。如果我們不需要它,則在**Export-Csv** cmdlet 的末尾新增**-NoTypeInformation** 引數。
如果您正在處理一個需要將資料追加到 csv 檔案的指令碼,則使用**-Append** 引數。例如,如下所示,我們在 foreach 迴圈中使用了上述相同命令來追加資料。
$procs = Get-Process | Sort-Object CPU -Descending | Select -First 10 | `
Select Name, id, CPU, WorkingSet
foreach($proc in $procs){
$proc | Export-Csv C:\Temp\Top10Procs.csv -NoTypeInformation -Append
}使用 PSCustomObject
您還可以從雜湊表或 PSCustomObject 匯出 csv 檔案。例如,
[PSCustomObject]@{
Name = 'OneDrive'
ID = '1001'
Memory_Usage = '20%'
CPU_Usage = '10%'
} | Export-Csv C:\Temp\SingleProcessInfo.csv -NoTypeInformation從 CSV 檔案匯入資料
從 csv 檔案匯入資料與從 csv 檔案匯出資料一樣簡單。要從 csv 檔案匯入資料,我們需要使用內建 cmdlet **Import-CSV**。
讓我們考慮前面建立的前 10 個高 CPU 利用率程序的檔案的示例。以下命令將匯入該 csv 檔案。
示例
Import-Csv C:\Temp\Top10Procs.csv
輸出

我們可以對其執行與在管道輸出上執行的常規操作。
Import-Csv C:\Temp\Top10Procs.csv | Select -First 2

要選擇特定屬性,
Import-Csv C:\Temp\Top10Procs.csv | Select Name, ID

我們可以使用管道對 csv 輸出的資料進行排序。
Import-Csv C:\Temp\Top10Procs.csv | Sort-Object -Property Name

過濾特定資料,
示例
Import-Csv C:\Temp\Top10Procs.csv | where{$_.Name -eq "OneDrive"}輸出

資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP