gpt4 book ai didi

powershell - 使用powershell读取Csv文件并捕获相应数据

转载 作者:行者123 更新时间:2023-12-02 11:26:23 28 4
gpt4 key购买 nike

我想使用 PowerShell 捕获用户输入,将输入与逗号分隔的 CSV 文件中的数据进行比较,并将相应的数据写入变量。

示例:

  1. 系统会提示用户输入“Store_Number”,他们输入“10”。
  2. 然后将输入“10”与第一个位置的数据进行比较 或 CSV 文件的列。
  3. 数据,如对应位置的“District_Number”/列被捕获并写入变量。

我已经使用此方法处理 Excel 文件 (.xlsx),但发现它非常慢。希望PowerShell能够更高效地读取CSV文件。

链接到示例 CSV 文件 here :

Store_Number,Region,District,NO_of_Devices,Go_Live_Date
1,2,230,10,2/21/2013
2,2,230,10,2/25/2013
3,2,260,12,3/8/2013
4,2,230,10,3/4/2013
5,2,260,10,3/4/2013
6,2,260,10,3/11/2013
7,2,230,10,2/25/2013
8,2,230,10,3/4/2013
9,2,260,10,5/1/2013
10,6,630,10,5/23/2013

最佳答案

您应该查看的是 Import-Csv

导入 CSV 后,您可以使用列标题作为变量。

示例 CSV:

Name  | Phone Number | Email
Elvis | 867.5309 | Elvis@Geocities.com
Sammy | 555.1234 | SamSosa@Hotmail.com

现在我们将导入 CSV,并循环遍历列表以添加到数组中。然后我们可以比较输入到数组的值:

$Name = @()
$Phone = @()

Import-Csv H:\Programs\scripts\SomeText.csv |`
ForEach-Object {
$Name += $_.Name
$Phone += $_."Phone Number"
}

$inputNumber = Read-Host -Prompt "Phone Number"

if ($Phone -contains $inputNumber)
{
Write-Host "Customer Exists!"
$Where = [array]::IndexOf($Phone, $inputNumber)
Write-Host "Customer Name: " $Name[$Where]
}

这是输出:

I Found Sammy

关于powershell - 使用powershell读取Csv文件并捕获相应数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16682744/

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