У меня есть CSV, который я импортирую с помощью команды import-csv, как показано ниже:
emailAddress, event, tokenDate, Yadda1, Yadda2
aaaa@bbb.com, A1234, 23/03/2020, 98765, 54321
bbbb@ccc.com, B2345, 23/03/2020, 87654, 32109
cccc@ddd.com, C3456, 23/03/2020, 76543, 21098
У меня есть код, который импортирует CSV, за исключением некоторых столбцов, которые я не хочу (yadda1, yadda2) и затем он переименовывает заголовки, которые импортирует.
После импорта и переименования у меня есть код, который изменяет данные столбцов status_date на формат unixtime, и это прекрасно работает.
Теперь мне нужно добавить новый столбец с именем «status_date2», который содержит в точности те же данные, что и status_date для каждой строки, поэтому, если status_date в строке 50 содержит значение unixtime 1584370028, тогда новый status_date2 строки 50 теперь должен также содержать значение 1584370028.
Я пытался сделайте что-то вроде этого, что, как я думал, просто примет значение status_date, но столбец status_date2 пуст до конца - ПОЖАЛУЙСТА, ПОМОГИТЕ !!!
@{Name='status_date2';Expression={$_."status_date"}}
Код выглядит следующим образом:
Import-Csv "c:\temp\myCSV.csv" |
Select * -ExcludeProperty "emailAddress", "event", "tokenDate" |
# Rename the column headers, for exmaple: rename from emailAddress to email_address
select -Property @{label="email_address";expression={$($_."emailAddress")}},
@{label="status";expression={$($_."event")}},
@{label="status_date";expression={$($_."tokenDate")}},
#Replace the date column data with unixtime format
% {$_.status_date = (Get-Date($_.status_date) -UFormat %s); $_} |
# Add a new column with current date/time is unixtime format for the CRM
@{Name='status_date2';Expression={Get-Date -UFormat %s}} |