I use the following code to read the data from .CSV. Data read from the table will be converted into normal variable so that I can do some calculations.
$ScriptPath = Split-Path $MyInvocation.MyCommand.Path
$TransportOptions = $ScriptPath + "\TransportOptions.csv"
$TransportOptionsID = @()
$TransportOptions = @()
$TransportEnergy = @()
$CO2 = @()
Import-Csv $TransportOptions |`
ForEach-Object {
$TransportOptionsID += $_."TransportOptionsID"
$TransportOptions += $_.TransportOptions
$TransportEnergy += $_.TransportEnergy
$CO2 += $_.CO2
}
$InputID = Read-Host -Prompt "TransportOptionsID"
if ($TransportOptionsID -contains $InputID)
{
$Where = [array]::IndexOf($TransportOptionsID, $InputID)
$InputName = $TransportOptions[$Where]
if ($TransportOptions -contains $InputName)
{
$Where = [array]::IndexOf($TransportOptions, $InputName)
$InputEnergy = $TransportEnergy[$Where]
$HTransportEnergy = [double]$InputEnergy
if ($TransportEnergy -contains $InputEnergy)
{
$Where = [array]::IndexOf($TransportEnergy, $InputEnergy)
$CO2transport = [double]$CO2[$Where]
}
}
}
But What I got is error:
ERROR: Import-Csv : Cannot bind argument to parameter 'Path' because it is an empty array.
ERROR:
CO2estimatorUserInputs.ps1 (132, 11): ERROR: At Line: 132 char: 11
ERROR: + Import-Csv <<<< $TransportOptions |`
ERROR: + CategoryInfo : InvalidData: (:) [Import-Csv], ParameterBindingValidationException
ERROR: + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyArrayNotAllowed,Microsoft.PowerShell.Commands.ImportCsvCommand
ERROR:
Do I miss something in my code? Any idea to solve this error, please?
