Как читать CSV-файл - PullRequest
       0

Как читать CSV-файл

0 голосов
/ 01 февраля 2019

Я пытаюсь получить значение в моем CSV, который содержит IP-адреса в первом столбце и имя хоста во втором.

Я пытался прочитать полный CSV, но я действительно понятия не имею, каквыбрать первый столбец.

Лучше всего будет скопировать первый столбец на доске $TheIPs = @() и то же самое для имени хоста.

$Currentpath = split-path -parent $MyInvocation.MyCommand.Definition 
$CheminCSV = $currentpath + '\LesIP.csv'

$file = Import-CSV $CheminCSV

$keys = Import-Csv .\keys.csv | select -ExpandProperty

Write-Host($file) #Show me all my csv
Write-Host($keys) # Not working

Ответы [ 3 ]

0 голосов
/ 01 февраля 2019

Вы можете узнать о любом объекте, используя Get-Member, например: $keys | Get-Member или $keys | gm для краткости.

Первая строка должна содержать заголовки.

Итак $keys | select ipдля всех ip (ов) предполагается, что ip является заголовком.

0 голосов
/ 01 февраля 2019

Выберите значения свойства IP, а затем просто присвойте ему переменную.

Использование ExpandProperty будет включать только сами IP-адреса и не включать заголовок столбца.

$Currentpath = split-path -parent $MyInvocation.MyCommand.Definition 
$CheminCSV = $currentpath + '\LesIP.csv'

$csv = Import-CSV $CheminCSV

$MyIPS = $csv | select -ExpandProperty IP

# and for hostnames
$MyHostnames = $csv | select -ExpandProperty HostName
0 голосов
/ 01 февраля 2019

Предполагая, что CSV-файл подобен этому ...

IP,Hostname
123,host123
456,host456
789,host789

... вы можете получить доступ к каждому столбцу по его имени, например, так ...

$csv = Import-Csv ".\LesIP.csv"

# Accessing the row "IP"
$csv."IP"

Пожалуйста, оставайтесь впомните, что Import-Csv предполагает, что у вас есть запятая -делифицированный файл с UTF-8 -Кодировкой.Если это не так, вы можете указать эти свойства, используя параметры -Encoding и -Delimiter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...