powershell - Powershell 导出到 csv 时间跨度总和
问题描述
我需要将总时间跨度值的结果导出到 csv 文件。
$outItems = New-Object System.Collections.Generic.List[System.Object]
[TimeSpan[]]$outItems = foreach ($eachtimer in $DurationColl){
if ($eachtimer -match 'H|M|S'){
Convert-TimeString -Time $eachtimer -Format 'm\Ms\.fff\S' }
else {
Convert-TimeString -Time $eachtimer -Format "h\:mm\:ss"}
}
$seconds = ($outItems | Measure-Object -Property TotalMilliseconds -Sum).Sum
$ts = [timespan]::FromMilliseconds($seconds)
$ert = ("{0:hh\:mm\:ss\,fff}" -f $ts)
$ert | Export-Csv C:\Users\User\Documents\output.csv -Append -NoTypeInformation -Encoding ASCII
$ert 值为 04:05:38,631,在 csv 上出现属性长度。在简历中,我的 Export-Csv 不起作用。
谢谢你的帮助
解决方案
Export-Csv将输入对象转换为带分隔符的文本文件。这些对象的属性成为列/标题,值成为在列下对齐的行。当您的输入对象是类型字符串时,字符串的唯一属性是Length
. 因此,您看到的结果是预期的。要实现预期的行为,您应该使用包含所需属性的对象类型或创建您自己的自定义对象。
使用自定义对象,您可以执行以下操作,这将创建一个具有 property 的对象Timespan
。
[pscustomobject]@{'Timespan' = $ert} |
Export-Csv C:\Users\User\Documents\output.csv -Append -NoTypeInformation -Encoding ASCII
推荐阅读
- java - 多个 mime 类型作为 @consumes 与多部分文件上传
- python - 从类的多个实例中的组合框获取数据
- laravel - Laravel 7 - 找不到类“Arr”
- c++ - 将字符串设置为(可能)自己的值时的最佳实践?
- flutter - http post 请求不适用于我的颤振应用程序代码
- python - 有没有办法在编写后运行函数(python)
- javascript - 向 php 文件发送请求时,AJAX 发布请求返回 405(不允许的方法)
- visual-studio - PNPM 和 Visual Studio .Net 2019
- jsonschema - 针对 JSON 中的拼写错误的 JSON Schema 验证
- angular - “Promise”类型上不存在属性“uid”
'.ts(2339)