Powershell 导入 csv,其中列数据与 txt 文件中的数据匹配
Powershell import csv where column data matches data in txt file
我有一个名为 CompanyName 的 header 的 csv 文件。
在 csv 中有大量的行和不同的公司名称。
但是我保留了一个文本文件,其中包含我需要检索其数据的特定公司。
通过 PowerShell 可以通过 txt 文件进行 Where-Object 检查。
类似于:
Import-Csv -Path myCSV | Where-Object { $_.'CompanyName' -in names.txt}
以上实际上不起作用。
我什至将文本文件中的名称放入一个数组中并尝试这样检查,但它也不起作用。
$arr = [string[]]$arrayFromFile = Get-Content -Path "names.txt"
Import-Csv -Path myCSV | Where-Object {$_.'CompanyName' -in $arr }
你的代码对我有用,只需要在 Get-Content
部分进行小的修改。
无需转换为字符串数组,但如果您想具体说明类型也可以。
应该是这样的-
[string[]]$arr = Get-Content -Path "names.txt"
整个事情没有类型转换。文件夹中需要 names.txt 和 mycsv.csv,或者使用完整路径。
$arr = Get-Content -Path "names.txt"
Import-Csv -Path "myCSV.csv" | Where-Object {$_.CompanyName -in $arr }
我有一个名为 CompanyName 的 header 的 csv 文件。 在 csv 中有大量的行和不同的公司名称。 但是我保留了一个文本文件,其中包含我需要检索其数据的特定公司。 通过 PowerShell 可以通过 txt 文件进行 Where-Object 检查。 类似于:
Import-Csv -Path myCSV | Where-Object { $_.'CompanyName' -in names.txt}
以上实际上不起作用。 我什至将文本文件中的名称放入一个数组中并尝试这样检查,但它也不起作用。
$arr = [string[]]$arrayFromFile = Get-Content -Path "names.txt"
Import-Csv -Path myCSV | Where-Object {$_.'CompanyName' -in $arr }
你的代码对我有用,只需要在 Get-Content
部分进行小的修改。
无需转换为字符串数组,但如果您想具体说明类型也可以。
应该是这样的-
[string[]]$arr = Get-Content -Path "names.txt"
整个事情没有类型转换。文件夹中需要 names.txt 和 mycsv.csv,或者使用完整路径。
$arr = Get-Content -Path "names.txt"
Import-Csv -Path "myCSV.csv" | Where-Object {$_.CompanyName -in $arr }