这是我的密码:
$Process = @()
$Energy = @()
Import-Csv C:\Users\Shuai\Desktop\test\Test.csv |`
ForEach-Object {
$Process += $_."Process"
$Energy += $_.Energy
}
$inputName = Read-Host -Prompt "Process"
if ($Process -contains $inputName)
{
Write-Host "Customer Exists!"
$Where = [array]::IndexOf($Process, $inputName)
$Energy[$Where]
}
我使用这段代码从.CSV读取数据。目前,只有一个工作表。我想在同一个文件中添加另一个带有新表的工作表。如何在不影响第一个工作表的情况下从这个新工作表读取数据?我需要为这两个工作表创建变量吗?我应该为此使用什么代码?
发布于 2015-08-29 09:31:37
首先,没有必要将值放入单独的数组中。实际上,将数据保存在Import-Csv
提供的模型中可以简化您的工作:
$ProcessSheet = Import-Csv C:\Users\Shuai\Desktop\test\Test.csv
$inputName = Read-Host -Prompt "Process"
$Process = $ProcessSheet |Where-Object {$_.Process -eq $inputName}
if ($Process)
{
Write-Host "Customer Exists!"
$Process
}
-file是非常简单的格式,本质上表示单个工作表中的数据集。
因此,如果您想要一个单独的表,使用一个单独的文件!
$ProcessSheet = Import-Csv C:\Users\Shuai\Desktop\test\Test.csv
$inputName = Read-Host -Prompt "Process"
$Process = $ProcessSheet |Where-Object {$_.Process -eq $inputName}
if ($Process)
{
Write-Host "Customer Exists!"
$Process
}
# New sheet? New variable!
$ServiceSheet = Import-Csv C:\Users\Shuai\Desktop\test\Test2.csv
$inputName = Read-Host -Prompt "Service"
$Service = $ServiceSheet |Where-Object {$_.Service -eq $inputName}
if($Service){
Write-Host "Service Exists!"
$Service
}
如果要在同一个文件中存储多个工作表,则必须使用Excel。
https://stackoverflow.com/questions/32288714
复制