Отображение нескольких столбцов CSV, имеющих пробелы в одной строке

Отображение нескольких столбцов CSV, имеющих пробелы в одной строке

У меня есть CSV-файл с именами и фамилиями. Заголовки "Имя" и "Фамилия". Я могу отобразить его, но он помещает имя и фамилию в разные строки.

Вопрос:Как сделать так, чтобы оба вывода отображались вместе в одной строке в Powershell?

Этот PowerShell разделяет значения на отдельные строки:

 Import-Csv -Path C:\file1.csv | foreach {echo $_.'First Name’ $_.'Last Name’}

решение1

Используя$( ) Оператор SubExpressionвложенным образом можно объединить несколько результатов подвыражения и вернуть их как группу внутри другого подвыражения, возвращающего желаемый вывод (т. е "$($(mutlivalue1) $(multivalue2))" == "val1 val2". ).

PowerShell

Import-Csv -Path "C:\file1.csv" | %{"$($_."First Name") $($_."Last Name")"};

Поддерживающие ресурсы

  • Operators $( ) @( ) :: &

    Оператор подвыражения $( ).

    Используйте подвыражение для возврата определенного значения характеристикиобъекта. В отличие от простых скобок, подвыражение может содержать несколько ; операторов, разделенных точкой с запятой ;.

    Вывод каждого оператора вносит вклад в вывод подвыражения. Для одного результата он вернет скаляр. Для нескольких результатов он вернет массив.

    Подвыражения позволяют оценивать и выполнять действия с результатами выражения в одной строке; без необходимости в промежуточной переменной:

решение2

Import-Csv -Path C:\file1.csv | foreach {'{0} {1}' -f $_.'First Name’, $_.'Last Name’ | Write-host}

решение3

Я предлагаю вам несколько методов:

#method 0 : on one row by you can keep your columns (result are list of objects)
import-csv "C:\temp\yooo.txt" | select "First Name", "Last Name"

#method 1 : create new column in select (result are list of objects)
import-csv "C:\temp\yooo.txt" | select @{Name="Identity";Expression={"{0} {1}" -f $_."First Name", $_."Last Name"}}

#method 2 : create new column in loop (result are list of string)
import-csv "C:\temp\yooo.txt" | %{"{0} {1}" -f $_."First Name", $_."Last Name"}

#method 3 : create new object in loop (result are list of objects)
import-csv "C:\temp\yooo.txt" | %{

[pscustomobject]@{
FirstName=$_."First Name"
LastName=$_."Last Name"
}

}

Связанный контент