在 PowerShell 中将数据导出为 CSV
CSV 文件只是一个分隔文本文件,其内容应用了特定格式。该格式与简单的表结构非常相似,如下例所示。
例如,
Name, NIC, Phone
John, 394829G, +671392392
Risabh, 32909340J, +12328833
CSV
是 Comma Separated Values
的缩写形式。正如文件类型 (CSV) 所建议的那样,它使用逗号分隔数据值。有不同的工具可用于生成包含数据的 CSV 文件。
在本文中,我们将讨论如何在 PowerShell 中将数据导出到 CSV 文件。
使用 Export-CSV
PowerShell Cmdlet 将数据导出到 CSV
Export-CSV
是可用于以 CSV 格式导出数据的 PowerShell cmdlet 之一。此 cmdlet 相对易于使用,并且还提供了一些属性。
Export-CSV
Cmdlet 语法
<data_objects/content> | Export-CSV -Path <path>
-
<data_objects/content>
:提供给 Export-CSV cmdlet 的数据对象/内容。 -
Export-CSV
:负责以 CSV 格式导出数据的 cmdlet。 -
-Path
:保存 csv 文件的路径。
我们将使用 Get-Process
cmdlet 来返回一些数据对象,这些数据对象可以馈送到 Export-CSV
cmdlet 以以 CSV 格式导出。
Get-Process
输出:
Handles NPM(k) PM(K) WS(K) CPU(s) Id SI ProcessName
313 14 3712 10756 7.69 39500 0 ApplicationFrameHost
507 30 22864 22836 2.11 18156 2 armsvc
可以返回多个进程对象。我们可以使用管道 (|)
运算符将返回的对象提供给 Export-CSV
cmdlet。然后,你可以使用 Get-Content
cmdlet 检查导出的 CSV 内容。
Get-Process | Export-CSV -Path .\ProcessObjects.csv
Get-Content -Path .\ProcessObjects.csv
输出:
"ProcessName","SI","Handles","VM","WS","PM","NPM", .....
"armsvc","2","511","2203597099008","35364864","21979136","30048", ...
"xyz","0","501","299393939","9982824","0021000","393393", ...
很少有有用的属性可用于更改 Export-CSV
cmdlet 的默认行为。
Get-Process | Export-CSV -Path .\ProcessObjects.csv -Delimiter ';'
Get-Content -Path .\ProcessObjects.csv
输出:
"ProcessName";"SI";"Handles";"VM";"WS";"PM";"NPM"; .....
"armsvc";"2";"511";"2203597099008";"35364864";"21979136";"30048"; ...
-Delimiter
选项将分隔符从默认的 ,
更改为指定的符号。
使用 ConvertTo-CSV
PowerShell Cmdlet 将数据导出到 CSV
ConvertTo-CSV
cmdlet 几乎类似于上面讨论的 Export-CSV
cmdlet。两者之间的唯一区别是 Export-csv
cmdlet 将 CSV 字符串保存到文件中,但 ConvertTo-CSV
并非如此。它只返回逗号分隔的值字符串。
ConvertTo-CSV
Cmdlet 语法
<data_objects/content> | ConvertTo-CSV
-
<data_objects/content>
:数据对象/内容被提供给ConvertTo-CSV
cmdlet。 -
ConvertTo-CSV
:负责返回 CSV 字符串的 cmdlet。
Get-Process | ConvertTo-Csv
输出:
"ProcessName","SI","Handles","VM","WS","PM","NPM", .....
"armsvc","2","511","2203597099008","35364864","21979136","30048", ...
"xyz","0","501","299393939","9982824","0021000","393393", ...p
因此,Export-CSV
和 ConvertTo-CSV
cmdlet 都是使用 PowerShell 生成 CSV 格式数据的有用工具。
相关文章
在 PowerShell 中管理服务
发布时间:2024/02/08 浏览次数:116 分类:编程语言
-
本文将讨论 PowerShell 服务 cmdlet、如何使用它们,并开发我们的脚本以在本地或远程管理多台计算机上的服务。
使用 PowerShell 获取 Windows 服务的启动类型
发布时间:2024/02/08 浏览次数:127 分类:编程语言
-
本教程将教你使用 PowerShell 获取启动类型的 Windows 服务。
PowerShell 中的属性 Property 与 ExpandProperty
发布时间:2024/02/08 浏览次数:198 分类:编程语言
-
本文将讨论什么是属性并将它们与扩展属性区分开来。Windows PowerShell 主要集中在显示和生成对象。这些对象由称为属性的特定细节支持。
PowerShell 中的 ExecutionPolicy Bypass 和 Unrestricted
发布时间:2024/02/08 浏览次数:137 分类:编程语言
-
提供了 PowerShell 执行策略作为安全措施。Bypass 和 Unrestricted 是两个重要的策略,可用于跳过几乎所有的安全检查并运行任何脚本。
使用 PowerShell 将文件从 Windows 复制到 Linux
发布时间:2024/02/08 浏览次数:125 分类:编程语言
-
本教程将教你使用 PowerShell 将文件从 Windows 复制到 Linux。
脚本执行后保持 PowerShell 控制台打开
发布时间:2024/02/08 浏览次数:111 分类:编程语言
-
本文将讨论多种解决方案,这些解决方案将使你的 PowerShell 控制台在脚本执行后保持打开状态,包括 NoExit 参数。