【发布时间】:2020-04-21 07:32:03
【问题描述】:
enter code here我有两个文件,一个是txt,第二个是CSV。我想将 txt 文件导入 csv 文件中的特定列“开始”,最后一列将重复相同的操作,但第一个数据需要转换为 unix 时间。
File1 - unix 日期
1586890800
1586930400
1586930400
1586959200
1586959200
1586941200
1586959200
1586941200
1586442240
CSV 文件:
ID (Link);CI;Status;Start;Scheduled End Date Time
126925;TESTA;Scheduled;14.04.2020 19:00;14.04.2020 20:00
127197;TESTB;Scheduled;15.04.2020 06:00;15.04.2020 14:00
158063;TESTAAA;Scheduled;15.04.2020 06:00;15.04.2020 10:00
163314;TESTBAAA;Scheduled;15.04.2020 14:00;22.04.2020 23:00
167023;TESTAdsadasd;Scheduled;15.04.2020 14:00;22.04.2020 23:00
177425;TESTBasdasd;Scheduled;15.04.2020 09:00;15.04.2020 12:00
178658;sadfsdfsd;Scheduled;15.04.2020 14:00;16.04.2020 23:00
179558;TESTBsdfsdfsdf;Scheduled;15.04.2020 09:00;20.04.2020 05:00
179558;TESTCEST;Scheduled;09.04.2020 14:24;20.04.2020 05:00
到目前为止,我有这样的事情:
$Start = Get-Content "C:\Users\start.txt"
Import-Csv "C:\Users\table.csv" -Delimiter ';' |
ForEach-Object { $_.Start = $Start; $_ } |
Export-Csv "C:\Users\table.csv" -Delimiter ';' -NoTypeInformation
结果: ID(链接);CI;状态;开始;计划结束日期时间
126925;TESTA;Scheduled;1586890800;14.04.2020 20:00
127197;TESTB;Scheduled;1586930400;15.04.2020 14:00
158063;TESTAAA;Scheduled;1586930400;15.04.2020 10:00
163314;TESTBAAA;Scheduled;1586959200;22.04.2020 23:00
167023;TESTAdsadasd;Scheduled;1586959200;22.04.2020 23:00
177425;TESTBasdasd;Scheduled;1586941200;15.04.2020 12:00
178658;sadfsdfsd;Scheduled;1586959200;16.04.2020 23:00
179558;TESTBsdfsdfsdf;Scheduled;1586941200;20.04.2020 05:00
179558;TESTCEST;Scheduled;1586442240;20.04.2020 05:00
【问题讨论】:
-
您真的只是想将 CSV 文件中的 DateTime 值转换为 Unix 时间吗?这可能会帮助你In PowerShell, how do I convert DateTime to UNIX time?
-
您不应将输出保存到另一个文件中,而应将其保存在您需要的位置 - 在 CSV 文件中。
-
@Olaf 我已经将日期转换为 Unix 时间,脚本的第一部分正在执行:1. 从 CSV 开始列中获取数据作为正常日期 14.04.2020 19:00 2. 转换正常日期 14.04。 2020 19:00 并将转换后的日期作为 1586890800 保存到 txt 文件中 3. 将转换后的日期添加到列中 :) 我不是程序员,也许有更好的理由这样做 :) 如果首先我从该列中获取日期并转换为另一个日期格式所以everhting应该匹配,对吧?行数等等?我说的对吗?
标签: powershell