Powershell 在csv上导入csv目标单元格
我有一个带有用户名列表的csv 我只想导入csv文件的一个单元格,例如A2 有可能是那样具体吗?我试过用谷歌搜索这个问题,但没有找到确切的解决办法。也尝试过powershell帮助 这能做到吗 谢谢Powershell 在csv上导入csv目标单元格,powershell,Powershell,我有一个带有用户名列表的csv 我只想导入csv文件的一个单元格,例如A2 有可能是那样具体吗?我试过用谷歌搜索这个问题,但没有找到确切的解决办法。也尝试过powershell帮助 这能做到吗 谢谢 Confuseis下面的示例将仅从test.csv中选择并输出“cell”A2 在本例中,A行的列标题为“username” $inFile = Import-Csv c:\Temp\test.csv $targetCell = $inFile.username[1] Write-Output $t
Confuseis下面的示例将仅从test.csv中选择并输出“cell”A2 在本例中,A行的列标题为“username”
$inFile = Import-Csv c:\Temp\test.csv
$targetCell = $inFile.username[1]
Write-Output $targetCell
此代码段正在执行以下操作:
下面的示例将仅从test.csv中选择并输出“cell”A2 在本例中,A行的列标题为“username”
$inFile = Import-Csv c:\Temp\test.csv
$targetCell = $inFile.username[1]
Write-Output $targetCell
此代码段正在执行以下操作:
Import CSV
从输入文件创建对象数组。CSV第一行中的列标签将成为特性名称。其他行是数组中的对象。与任何数组一样,可以使用括号调用一个元素
$arrUsers = Import-CSV c:\temp\users.csv
$arrUsers[1]
上面的第二个命令打印第二个对象,因为计数从0开始。此对象来自CSV文件的第三行,因为第一行用作列标题
如果使用Get Member
,它将显示对象的成员(属性和方法)
$arrUsers | Get-Member
假设其中一个成员是用户名
,将其与数组索引相结合,可以使用:
$arrUsers[1].username
导入CSV
是一个非常灵活的工具。特别是与Foreach
和Export CSV
结合使用。在获取帮助
和获取成员
之间,您可以轻松浏览Powershell。祝你好运。导入CSV从输入文件创建一个对象数组。CSV第一行中的列标签将成为特性名称。其他行是数组中的对象。与任何数组一样,可以使用括号调用一个元素
$arrUsers = Import-CSV c:\temp\users.csv
$arrUsers[1]
上面的第二个命令打印第二个对象,因为计数从0开始。此对象来自CSV文件的第三行,因为第一行用作列标题
如果使用Get Member
,它将显示对象的成员(属性和方法)
$arrUsers | Get-Member
假设其中一个成员是用户名
,将其与数组索引相结合,可以使用:
$arrUsers[1].username
导入CSV
是一个非常灵活的工具。特别是与Foreach
和Export CSV
结合使用。在获取帮助
和获取成员
之间,您可以轻松浏览Powershell。祝您好运。使用导入Csv时,您可以将内容转换为PSCustomObject
下表中的示例:
PS> $csv = Import-Csv .\test.csv
PS> $csv
ProcessName Id WS CPU
----------- -- -- ---
sihost 5996 30015488 44.640625
pia_nw 11064 10620928 52.921875
pia_nw 2344 7933952 104.0625
RuntimeBroker 6500 77500416 177.34375
SettingSyncHost 6736 5074944 202.796875
explorer 6600 284934144 272.140625
ipoint 920 3162112 372.78125
rubyw 10648 18026496 389.46875
pia_nw 3108 31330304 1640.5625
OneDrive 10208 33206272 6422.4375
因此,您需要一个NoteProperty名称来调用您要查找的值
PS> $csv.ProcessName[0]
sihost
另一种方法是制作一个头数组,并使用它对数据进行切片
如果使用对象,请执行以下操作:
PS> $header = ($csv | ConvertTo-Csv -NoTypeInfo)[0] -replace '"' -split ",";
>>
PS> $header
ProcessName
Id
WS
CPU
或者,如果正在使用该文件:
PS> $header = (gc .\test.csv)[0] -replace '"' -split ',';
ProcessName
Id
WS
CPU
然后使用适当的索引:
PS> $csv[0]."$($header[0])"
sihost
最后是xlsx文件上的Excel.Application-ComObject方法。这将允许您选择单元格和范围
PS> $file = "C:\Some\Path\IMade\Up\test.xlsx"
PS> $objExcel = New-Object -ComObject Excel.Application
PS> $objExcel.Visible = $false
PS> $wb = $objExcel.Workbooks.Open($file)
PS> $ws = $wb.Sheets.Item(1)
PS> $ws.Range("A2").Text
sihost
有关使用COM对象的更多信息,请参见:
使用导入Csv时,将内容转换为PSCustomObject 下表中的示例:
PS> $csv = Import-Csv .\test.csv
PS> $csv
ProcessName Id WS CPU
----------- -- -- ---
sihost 5996 30015488 44.640625
pia_nw 11064 10620928 52.921875
pia_nw 2344 7933952 104.0625
RuntimeBroker 6500 77500416 177.34375
SettingSyncHost 6736 5074944 202.796875
explorer 6600 284934144 272.140625
ipoint 920 3162112 372.78125
rubyw 10648 18026496 389.46875
pia_nw 3108 31330304 1640.5625
OneDrive 10208 33206272 6422.4375
因此,您需要一个NoteProperty名称来调用您要查找的值
PS> $csv.ProcessName[0]
sihost
另一种方法是制作一个头数组,并使用它对数据进行切片
如果使用对象,请执行以下操作:
PS> $header = ($csv | ConvertTo-Csv -NoTypeInfo)[0] -replace '"' -split ",";
>>
PS> $header
ProcessName
Id
WS
CPU
或者,如果正在使用该文件:
PS> $header = (gc .\test.csv)[0] -replace '"' -split ',';
ProcessName
Id
WS
CPU
然后使用适当的索引:
PS> $csv[0]."$($header[0])"
sihost
最后是xlsx文件上的Excel.Application-ComObject方法。这将允许您选择单元格和范围
PS> $file = "C:\Some\Path\IMade\Up\test.xlsx"
PS> $objExcel = New-Object -ComObject Excel.Application
PS> $objExcel.Visible = $false
PS> $wb = $objExcel.Workbooks.Open($file)
PS> $ws = $wb.Sheets.Item(1)
PS> $ws.Range("A2").Text
sihost
有关使用COM对象的更多信息,请参见:
太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了,太棒了<代码>$infle[1]。用户名实际上,任何一种方法都有效$username[1]或$infle[1]。username给出相同的值。您将索引放在username属性上,而不是数组上<代码>$infle[1]。用户名实际上,任何一种方法都有效$username[1]或$infle[1]。username给出相同的值。