![](/img/trans.png)
[英]Powershell to import values in first two columns of csv files on a condition
[英]How to import first two values for each line in CSV file | PowerShell
我有一个每天生成的CSV文件,并使用以下数据生成:
windows:NT:v:n:n:d:n:n:n:n:m:n:n
我还应该提一下,该示例是3,900多行之一,并非每行数据都具有相同数量的“列”。 我要做的是将数据的前两个“列”导入变量。 对于这个例子,它将是“Windows”和“NT”,没有别的。
我该怎么做呢? 我尝试过使用-delimiter':',但运气不大。
行数无关紧要。
我从评论(到你之前的问题)的方法应该有效,
如果没有标题,你只想要前两列,
只需指定标题1,2
> import-csv .\strange.csv -delim ':' -Header (1..2) |Where 2 -eq 'NT'
1 2
- -
windows NT
构建整个数组的示例
$Splitted_List = @()
foreach($Line in Get-Content '.\myfilewithuseragents.txt'){
$Splitted = $Line -split ":"
$Splitted_Object = [PSCustomObject]@{
$part1 = $splitted[0]
$part2 = $Splitted[1]
}
$Splitted_List.Add($Splitted_Object) | Out-Null
}
对于每一行,您只需读取该行以及该行中的字符串,您就可以轻松地将其拆分
$useragent = "windows:NT:v:n:n:d:n:n:n:n:m:n:n"
然后第一部分将被引用为$useragent.Split(":")[0]
,第二部分将被引用为$useragent.Split(":")[1]
等。
包括类似的for循环
foreach($useragent in Get-Content '.\myfilewithuseragents.txt') {
$splitted = $useragent.Split(":")
$part1 = $splitted[0]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.