我想导入一个csv文件,对一列求和,然后在文件名中使用sum导出它。文件现在看起来是这样的:
2015-01
在文件内部,它看起来像这样:
Time;E_TotalKwh;E_TodayKwh
01-01-2015;2211.248;4.549
02-01-2015;2212.607;1.359
03-01-2015;2214.048;1.441
04-01-2015;2215.478;1.430
我想得到E_TodayKwh列的和。我正在考虑对每一行使用一个,并将其添加到一个变量中。然后我想将文件重命名为2015-01;132.678(例如(,其中132.678是第三列的总和,并将其导出
我是powershell的新手,在总结第三栏时遇到了一些麻烦。
Import-Csv '*Jr_20152015-01.CSV' -Delimiter ';' | Select-Object E_TodayKwh
我正在尝试一些事情,但不知道我是否走上了正轨。
这样就可以了(请注意,第三列的总和是8.779,而不是您在问题中所说的132.678(。此外,我使用了_
而不是;
来分隔原始名称和总和,因为;
在文件名中并不理想(尽管不是非法的(。
$DataFile = Get-Item '2015-01.csv'
Import-Csv -Path $DataFile -Delimiter ';' |
Measure-Object -Property 'E_TodayKwh' -Sum |
Select-Object @{label="NewName";expression={$DataFile.BaseName + '_' + $_.Sum + $DataFile.Extension}} |
Rename-Item $DataFile