Powershell 读取CSV第1行列并将其保存到变量
我想从csv或其他txt文件中读取数据。应仅从第1行和第1行上的少数列读取数据,并将其保存到变量中,保存后删除该行。现在我是这样做的:Powershell 读取CSV第1行列并将其保存到变量,powershell,csv,Powershell,Csv,我想从csv或其他txt文件中读取数据。应仅从第1行和第1行上的少数列读取数据,并将其保存到变量中,保存后删除该行。现在我是这样做的: Get-ChildItem -Path C:\path | ForEach-Object -Process { $YourContent = Get-Content -Path $_.FullName $YourVariable = $YourContent | Select-Object -First 1 $YourContent | Select-Objec
Get-ChildItem -Path C:\path | ForEach-Object -Process {
$YourContent = Get-Content -Path $_.FullName
$YourVariable = $YourContent | Select-Object -First 1
$YourContent | Select-Object -Skip 1 | Set-Content -Path $_.FullName
我的问题是,我的变量输出如下:
Elvis;867.5390;elvis@geocities.com
猫王;867.5390;elvis@geocities.com
所以我想将每个变量保存到它自己的列中。csv的外观示例:
Elvis | 867.5309 | Elvis@Geocities.com
Sammy | 555.1234 | SamSosa@Hotmail.com
埃尔维斯| 867.5309 |Elvis@Geocities.com
萨米| 555.1234 |SamSosa@Hotmail.com
使用
Import Csv
而不是Get Content
:
Import-Csv file.csv -Delimiter ";" -Header A, B, C
使用
Import Csv
而不是Get Content
:
Import-Csv file.csv -Delimiter ";" -Header A, B, C
这里有一个方法可以做我认为你想做的事
Alfa;123.456;Some unwanted info;Alfa@example.com
Bravo;234.567;More info that can be dropped;Bravo@example.com
Charlie;345.678;This is also ignoreable;Charlie@example.com
==============================
Name Number Email
---- ------ -----
Alfa 123.456 Alfa@example.com
==============================
Bravo;234.567;More info that can be dropped;Bravo@example.com
Charlie;345.678;This is also ignoreable;Charlie@example.com
这里有一个方法可以做我认为你想做的事
Alfa;123.456;Some unwanted info;Alfa@example.com
Bravo;234.567;More info that can be dropped;Bravo@example.com
Charlie;345.678;This is also ignoreable;Charlie@example.com
==============================
Name Number Email
---- ------ -----
Alfa 123.456 Alfa@example.com
==============================
Bravo;234.567;More info that can be dropped;Bravo@example.com
Charlie;345.678;This is also ignoreable;Charlie@example.com
谢谢你的回答 我试图进一步澄清我想做的事情。答案可能已经做到了,但我在Powershell中还不是很好,而且学到了很多东西 如果我有csv或任何其他txt文件,我想读取文件的第一行。该行包含多条信息。我还想将每条信息保存到变量中。将信息保存到变量后,我想删除该行 例如: 车型年 福特嘉年华2015 奥迪A6 2018
在本例中,我希望将福特、嘉年华和2015保存到变量(第1行)($Card、$Model、$Year),然后删除该行。第二行不应删除,因为稍后将使用它谢谢您的回答 我试图进一步澄清我想做的事情。答案可能已经做到了,但我在Powershell中还不是很好,而且学到了很多东西 如果我有csv或任何其他txt文件,我想读取文件的第一行。该行包含多条信息。我还想将每条信息保存到变量中。将信息保存到变量后,我想删除该行 例如: 车型年 福特嘉年华2015 奥迪A6 2018
在本例中,我希望将福特、嘉年华和2015保存到变量(第1行)($Card、$Model、$Year),然后删除该行。不应删除第二行,因为它将在以后使用,因此您希望--[1]读取每个文件的第一行--[2]仅使用某些属性将该行转换为对象/////是否正确?如果是这样,请尝试使用
Get Contnet-TotalCount 1
获取第一行,然后使用ConvertFrom CSV
将该行转换为对象。您使用$YourVariable
做什么?你提到CSV,你的变量已经非常接近于一。。。只需替换使用,
像这样$YourVariable=($YourContent | Select Object-First 1)-replace(“;”,“,”,”)
所以您希望--[1]读取每个文件的第一行--[2]仅使用某些属性将该行转换为对象[3]/////这是否正确?如果是这样,请尝试使用Get Contnet-TotalCount 1
获取第一行,然后使用ConvertFrom CSV
将该行转换为对象。您使用$YourVariable
做什么?你提到CSV,你的变量已经非常接近于一。。。只需替换代码>与,
类似$YourVariable=($YourContent | Select Object-First 1)-replace(“;”,“,”)
它如何解决请求。要读取第一行,请不使用它进行处理和保存?您必须|转换为Csv |选择对象-跳过2 |设置内容…
,原始格式将被双qouted版本覆盖。它如何解决req。要读取第一行,请不使用它进行处理和保存?您必须|转换为Csv |选择对象-跳过2 |设置内容…
,原始格式将被双qouted版本覆盖。