迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 PowerShell 中将数据导出为 CSV

作者:迹忆客 最近更新:2024/02/01 浏览次数:

CSV 文件只是一个分隔文本文件,其内容应用了特定格式。该格式与简单的表结构非常相似,如下例所示。

例如,

Name, NIC, Phone

John, 394829G,  +671392392

Risabh, 32909340J, +12328833

CSVComma 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-CSVConvertTo-CSV cmdlet 都是使用 PowerShell 生成 CSV 格式数据的有用工具。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 PowerShell 中管理服务

发布时间:2024/02/08 浏览次数:116 分类:编程语言

本文将讨论 PowerShell 服务 cmdlet、如何使用它们,并开发我们的脚本以在本地或远程管理多台计算机上的服务。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便