当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 PowerShell 中将数组写入 CSV

作者:精品下载站 日期:2024-12-14 05:23:52 浏览:14 分类:玩电脑

在 PowerShell 中将数组写入 CSV


本文将介绍如何在 PowerShell 中将数组写入 CSV 文件。

使用 Export-Csv cmdlet

PowerShell 中的 Export-Csv cmdlet 创建给定对象的 CSV 文件。但您无法直接将数组正确写入 CSV 文件。

当您将数组通过管道传输到 Export-Csv 时,结果将与此类似。

[玩转系统] 在 PowerShell 中将数组写入 CSV

将数组导出到 CSV 文件的最佳方法是:

  • 从数组创建 PSObject
  • 将 PSObject 存储在新数组中
  • 将新数组通过管道传送到 Export-Csv cmdlet

将数组写入 CSV 文件:

$array = @('Chris', '24', 'Police'),
          ('Tom', '27', 'Farmer'),
          ('Anthony', '29', 'Lawyer')
$newarr = @()
$columns = @('Name','Age','Job')
foreach ($item in $array){
    $obj = New-Object PSObject
    for ($i=0;$i -lt $array.Length; $i++){
        $obj | Add-Member -MemberType NoteProperty -Name $columns[$i] -Value $item[$i]
    }
    $newarr+=$obj
    $obj=$null
}
$newarr | Export-Csv output.csv -NoTypeInformation

在上面的示例中,我们创建了 $array 来写入 CSV 文件。 $newarr 是一个空数组,稍后将用于存储 PSObject。 $columns 包含数据的标题标签。

我们使用 New-Object cmdlet 创建了 PSObject $obj。然后在 for 循环中,我们使用 Add-MemberName 属性和 属性中添加 $columns 值PSObject 的 Value 属性中的 >$array 值。

New-Object cmdlet 用于创建 .NET Framework 或 COM 对象的实例。

Add-Membercmdlet 用于向 PowerShell 对象添加自定义属性。

之后,我们用 $obj 中添加的数据填充 $newarr

$newarr 现在包含以下数据。

输出 :

Name    Age Job   
----    --- ---   
Chris   24  Police
Tom     27  Farmer
Anthony 29  Lawyer

最后,我们将数组 $newarr 通过管道传输到 Export-Csv cmdlet,并在当前目录中创建了一个 CSV 文件 output.csv

-NoTypeInformation 用于删除 CSV 文件中的 #TYPE 信息标头。

该数组已成功导出到 CSV 文件。

[玩转系统] 在 PowerShell 中将数组写入 CSV

使用 Set-Content cmdlet

要使此方法起作用,您需要创建一个如下所示的数组:

创建数组:

$array = @('Name,Age,Job'),
          ('Chris,24,Police'),
          ('Tom,27,Farmer'),
          ('Anthony,29,Lawyer')

如果我们使用逗号分隔多个项目,我们可以将其以正确的格式写入 CSV 文件。

要将此数组导出到 CSV,您可以使用 Set-ContentAdd-Content cmdlet。

将数组写入 CSV 文件:

$array | Set-Content output.csv

这就是如何在 PowerShell 中将数组写入 csv 的全部内容。如果您有任何困惑,请在评论中告诉我们。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯