gpt4 book ai didi

powershell - 在 PowerShell 中读取 CSV 文件

转载 作者:行者123 更新时间:2023-12-03 01:07:22 25 4
gpt4 key购买 nike

我正在尝试使用 PowerShell 读取 .csv 文件。

我正在使用的文件如下所示:

This is the file I am using

Application;Email
ApplicationName 1;random@address.com
ApplicationName 2;another@email.com

我在 Internet 上搜索了一些使用 PowerShell 读取 .csv 文件的方法,我发现这个看起来非常简单明了:

$csvfile = Import-CSV -Path "$ScriptDir\SpecificApp.csv"
Foreach ($el in $csvfile) {
Write-Host $el.Email
}

问题是它不显示任何内容,当我尝试将 Write-Host $el.Email 行更改为 Write-Host $el 时,我得到这个:

@{Application;Email=ApplicationName 1;random@address.com}
@{Application;Email=ApplicationName 2;another@email.com}

我知道我可以使用一些 .split() 检索数据,但我想了解如何正常获取这些数据

最佳答案

发生这种情况,因为您使用分号 ; 作为字段分隔符。默认情况下,Import-CSV需要一个逗号 ,。因此只有一列名为 Application;Email 而不是两列 ApplicationEmail

$csvfile

Application;Email
-----------------
ApplicationName 1;random@address.com
ApplicationName 2;another@email.com

您甚至可以使用双引号引用意外的列名(因为冒号是语句分隔符):

$csvfile | % {$_."Application;Email"}
ApplicationName 1;random@address.com
ApplicationName 2;another@email.com

要获得预期的结果,请像这样使用 -Delimeter 参数,

$csvfile = Import-CSV -Path C:\temp\ps.csv -Delimiter ";"
$csvfile

Application Email
----------- -----
ApplicationName 1 random@address.com
ApplicationName 2 another@email.com

关于powershell - 在 PowerShell 中读取 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45877553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com