【发布时间】:2016-09-15 20:56:48
【问题描述】:
我有一个导入的 CSV 文件,我需要更改列的格式 (backed_up_ts) 以删除列中的原始数据并用更新的格式替换它。
列中每一行的原始数据如下所示:
Tue Sep 13 07:46:26 MDT 2016
我的代码的第一部分格式化每一行,以便可以将其与日期进行比较:
$csv = Import-Csv -Path "C:\Users\user\Desktop\NewReport.csv" | Select display_client_name, backed_up_ts
$csv = foreach ($budate in $csv.backed_up_ts) {
$budate = $budate.Substring(3)
$budate = $budate.Replace("MDT", "")
$budate = $budate.Replace("MST", "")
$budate = $budate.Split(" ")
$budate = $budate[1] + " " + $budate[2] + " " + $budate[5]
$budate = ($budate | Get-Date -Format d)
从这里我需要采用更新的格式(在$budate 值中)并替换$csv.backed_up_ts 数组中的原始数据。
但是,$budate 的值只是 foreach 循环中对象的最后一个值(2016 年 3 月 30 日)。$csv.backed_up_ts 的值以其原始格式保留在数组中(2016 年 8 月 30 日,星期三,美国东部标准时间)。
我需要将原始数组$csv.backed_up_ts 替换为$budate 创建的协调值。
谢谢。
【问题讨论】:
标签: powershell