【发布时间】:2019-11-22 14:06:33
【问题描述】:
我想读取 2 列中的 csv 文件,当我打开我的 excel 时,它将显示 2 列中显示的 CSV 文件的信息。
实际上,我只在一列中显示以下代码:
Function Read-File {
Param([string]$file, [string]$head)
if (Test-Path $file) {
Write-Verbose "$file exists, importing list."
$data = Import-Csv -Path $file
$s = @()
if ($data.$head) {
foreach ($device in $data) {
try {
$s += $device.$head
Write-Verbose -Message "$device.$head"
} catch {
Write-Error -Message "Failed to add $device to list."
}
}
} else {
Write-Error -Message "No such column, $head, in CSV file $file."
}
return $s
}
}
$list = Read-File $file $fileColumn
所以现在我想这样做,但是在 2 列中,我是 PowerShell 的初学者,所以我希望得到一些帮助:) 谢谢你
这是我的 CSV 文件:
Asset Number, Serial Number
cd5013172cffd6a317bd2a6003414c1,N5WWGGNL
8df47f5b1f1fcda12ed9d390c1c55feaab8,SN65AGGNL
dc0d1aaba9d55ee8992c657,B2NGAA3501119
我只是想在我的 excel 的 2 列上显示这些(资产编号和序列号),不用担心这些信息根本不敏感,所以没关系 :)
【问题讨论】:
-
我已经修复了损坏的语法,@Theo。我认为如何从仅读取 1 个值(这是代码当前所做的)转换为 2 是 Jordy 所问的问题。
-
@mklement0 顺便说一句,它说不可能将 arg 链接到参数“path”,因为它是一个空字符串,在 if (test-path $file) 上:/什么我应该做我不确定
-
这意味着您将
$null值或空字符串作为-File参数传递给ReadFile函数。您可以通过将-File参数声明为仅接受非空输入来更早地检测到此问题:[ValidateNotNullOrEmpty()][string]$file
标签: powershell csv