【问题标题】:Formatting the output data in csv from powershell script从powershell脚本格式化csv中的输出数据
【发布时间】:2017-08-20 00:34:12
【问题描述】:

我正在尝试获取性能计数器并将数据导出到 csv 文件。

$pg_co = "\Processor(_total)\% processor time"
$pg_Da = Get-Counter $pg_co

$pg_Da.counterSamples | Select-Object TimeStamp, CookedValue, RawValue | Export-CSV "D:\Qemu\test1.csv" -Append -NoTypeInformation

$pg_co = "\Memory\Available MBytes"
$pg_Da = Get-Counter $pg_co

$pg_Da.counterSamples | Select-Object TimeStamp, CookedValue, RawValue | Export-CSV "D:\Qemu\test1.csv" -Append -NoTypeInformation

但我无法将这些值放在单独的列中。数据被覆盖(或者如果我包含 -Append,则在后续行中)。 当我第二次查询计数器时,如何将其放入新列中? 例如,我希望 csv 看起来像这样,可能具有不同的列名,如 CookedValue2 或其他任何内容。 The expect outlook of csv file 任何帮助将不胜感激

【问题讨论】:

  • 这看起来可以正常工作。在运行此代码之前,csv 文件是否已经包含信息?还是您的意思是要转置数据以使行显示为列?我不确定您看到的是什么以及它是如何错误的。一些例子在这里会很有用。因为如果你想转置它,那不再是 CSV
  • 对于那些想帮助你但不熟悉 perfmon 的人(例如 linux 用户),如果你能包含数据示例,那就太好了。
  • 我刚刚附上了一张我所期待的照片,i.stack.imgur.com/MElpx.png
  • @Matt 我不想完全转置它,第一列很好,但是是否可以在下一列中添加下一个计数器值,如图所示?
  • @Clijsters 我附上了一张照片,如果有帮助的话。

标签: windows powershell csv powershell-3.0 perfmon


【解决方案1】:

试试这个:

$pg_co1 ="\Processor(_total)\% processor time"
$pg_Da1 = Get-Counter $pg_co1

$pg_co2 ="\Memory\Available MBytes"
$pg_Da2 = Get-Counter $pg_co

$csv = New-Object -TypeName PSObject 

Add-Member -InputObject $csv -MemberType NoteProperty -Name "TimeStamp" -Value $pg_Da1.Timestamp
Add-Member -InputObject $csv -MemberType NoteProperty -Name "CookiedValue1" -Value $pg_Da1.CounterSamples[0].CookedValue
Add-Member -InputObject $csv -MemberType NoteProperty -Name "CookiedValue2" -Value $pg_Da2.CounterSamples[0].CookedValue
Add-Member -InputObject $csv -MemberType NoteProperty -Name "RawValue1" -Value $pg_Da1.CounterSamples[0].RawValue
Add-Member -InputObject $csv -MemberType NoteProperty -Name "RawValue2" -Value $pg_Da2.CounterSamples[0].RawValue

$csv | Export-Csv "D:\Qemu\test1.csv" -NoTypeInformation -Append

它制作了这种 csv:

"TimeStamp","CookiedValue1","CookiedValue2","RawValue1","RawValue2"
"27.03.2017 16:33:21","3,91259176894325","0,782341394244668","450438906250","450448828125"

【讨论】:

  • 非常感谢。这正是我一直在寻找的。再次感谢。
猜你喜欢
  • 2017-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-04
  • 2022-07-20
  • 2012-07-22
  • 1970-01-01
相关资源
最近更新 更多