- 論壇徽章:
- 2
|
本帖最后由 unix520 于 2023-08-07 16:05 編輯
回復(fù) 2# 本友會機友會攝友會
直接處理不行嗎要轉(zhuǎn)一次csv 這么繁瑣嗎, 但為什么執(zhí)行后變多了,, 似乎并沒有統(tǒng)加起來,,,用的ps1, 看的頭暈 可以寫完整的試試嗎- Set-Location ${PSScriptRoot}
- #1 把不規(guī)范的txt,處理成規(guī)范的csv
- $csv = Get-Content -LiteralPath "${PSScriptRoot}20230805in.txt" | ForEach-Object {
- $_ -replace ' +',','
- } | ConvertFrom-Csv -Header 'a','b','c'
- $csv
- $根據(jù)第一列分組 = $csv | Group-Object -Property 'a'
- # group-object是一個數(shù)組,屬性有:
- # 數(shù)組屬性有:g[0].name ,g[0].count,g[0].group
- foreach ($i in $根據(jù)第一列分組) #遍歷分組
- {
- $時間累加 = $null
- foreach ($i2 in $i.Group) #遍歷分組內(nèi)的第3列的每一個值
- {
- $i3 = $i2.c -replace '[a-z]' -as [timespan]
- $時間累加 += $i3
- }
- '{0} {1}' -f $i2.a,$時間累加 #輸出結(jié)果
- }
- a b c
- - - -
- 老6 ID 1h:2m:59s
- 張三 ID 0h:10m:00s
- 李4 ID 0h:07m:07s
- 老6 ID 0h:01m:02s
- 老6 ID 0h:2m:59s
- 張三 ID 2h:11m:01s
- 王五 ID 0h:0m:01s
- 老6 ID 1h:2m:59s
- 張三 ID 0h:10m:00s
- 李4 ID 0h:07m:07s
- 老6 ID 0h:01m:02s
- 老6 ID 0h:2m:59s
- 張三 ID 2h:11m:01s
- 王五 ID 0h:0m:01s
復(fù)制代碼
|
|