Powershell 首先将标题写入csv,然后附加相应的列数据
我正在尝试用下面的数据创建一个csv。但我不知道这是怎么回事 新提取的\u数据是一个数组:Powershell 首先将标题写入csv,然后附加相应的列数据,powershell,Powershell,我正在尝试用下面的数据创建一个csv。但我不知道这是怎么回事 新提取的\u数据是一个数组: timestamp _ldmodels_MIN _ldmodels_MAX _ldmodels_AVERAGE --------- ------------- ------------- ----------------- 1599136260 73896.68 73896.68 73896.68 1599136320 73896.68 73896.68
timestamp _ldmodels_MIN _ldmodels_MAX _ldmodels_AVERAGE
--------- ------------- ------------- -----------------
1599136260 73896.68 73896.68 73896.68
1599136320 73896.68 73896.68 73896.68
1599136380 73896.68 73896.68 73896.68
foreach($Member in $GetMembers)
{
$Col = $Member.Name
if($Col -ne "timestamp")
{
$Sum_Col = ($New_Extracted_Data | Measure-Object $Col -Sum).Sum
}
}
现在我需要将其写入csv。以下是预期的o/p
e、 g
请需要关于如何做到这一点的想法。另外,如果我的方法有任何问题,请告诉我。除非只是需要一个理论解释,否则在给定的示例中,您的需求没有实际应用<代码>导出Csv可以将PowerShell对象序列化为Csv格式<代码>选择对象可用于筛选发送到
导出Csv
的属性
# Export Your Object to CSV with all custom properties as columns
$New_Extracted_Data | Export-Csv "C:\Script\Final_Data.csv" -NoType
# Export object to CSV without timestamp property
$New_Extracted_Data | Select-Object -Property * -ExcludeProperty timestamp |
Export-Csv "C:\Script\Final_Data.csv" -NoType
# Creating sums of your values when properties are known
[pscustomobject]@{
_ldmodels_MIN = ($New_Extracted_Data._ldmodels_MIN | Measure -Sum).Sum
_ldmodels_MAX = ($New_Extracted_Data._ldmodels_MAX | Measure -Sum).Sum
_ldmodels_AVERAGE = ($New_Extracted_Data._ldmodels_AVERAGE | Measure -Sum).Sum
} | Export-Csv sums.csv -NoType
# Summing all properties except timestamp
$Properties = ($New_Extracted_Data[0] | Get-Member -MemberType NoteProperty |
Where Name -ne 'timestamp').Name
$Hash = [ordered]@{}
foreach ($Property in $Properties) {
$Hash[$Property] = ($New_Extracted_Data.$Property | Measure -Sum).Sum
}
[pscustomobject]$Hash | Export-Csv sum.csv -NoType
没有必要循环。只需使用
-join
-->$GetMembers.Name-join',
。为什么要这样做?为什么不只是$New_Extracted_Data | Export Csv
?
_ldmodels_MIN _ldmodels_MAX _ldmodels_AVERAGE
------------- ------------- -----------------
221690.04 221690.04 221690.04
# Export Your Object to CSV with all custom properties as columns
$New_Extracted_Data | Export-Csv "C:\Script\Final_Data.csv" -NoType
# Export object to CSV without timestamp property
$New_Extracted_Data | Select-Object -Property * -ExcludeProperty timestamp |
Export-Csv "C:\Script\Final_Data.csv" -NoType
# Creating sums of your values when properties are known
[pscustomobject]@{
_ldmodels_MIN = ($New_Extracted_Data._ldmodels_MIN | Measure -Sum).Sum
_ldmodels_MAX = ($New_Extracted_Data._ldmodels_MAX | Measure -Sum).Sum
_ldmodels_AVERAGE = ($New_Extracted_Data._ldmodels_AVERAGE | Measure -Sum).Sum
} | Export-Csv sums.csv -NoType
# Summing all properties except timestamp
$Properties = ($New_Extracted_Data[0] | Get-Member -MemberType NoteProperty |
Where Name -ne 'timestamp').Name
$Hash = [ordered]@{}
foreach ($Property in $Properties) {
$Hash[$Property] = ($New_Extracted_Data.$Property | Measure -Sum).Sum
}
[pscustomobject]$Hash | Export-Csv sum.csv -NoType