这是我的代码:
$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读取数据。目前,只有一个工作表。我想在同一个文件中添加另一个带有新表的工作表。如何从这个新工作表中读取数据而不影响第一个?我是否需要为两个工作表创建变量?我应该使用什么代码?
答案 0 :(得分:2)
首先,没有必要将您的值放入单独的数组中。事实上,将数据保存在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
}
CSV
-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。