问题标签 [measure-object]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1247 浏览

powershell - (Measure-Object -sum).Sum 的替代方案

我陷入以下情况:我必须从 CSV 文件中获取信息。我使用Import-Csv.

我的原始数据如下所示:

其中包含的列3.7是感兴趣的值(“点”)。

这是我的第一个问题-> 使用Import-Csv,powershell 会将这些信息保存在一个[string]属性中。为避免这种情况,我使用了以下行:

现在我得到一个Selected.System.Management.Automation.PSCustomObject包含该属性的类型对象作为[decimal]. 现在我想总结一下同一个电子邮件地址使用的所有要点:

这似乎工作得很好,但如果我打开$Data[$Index] | gm我得到这个:Points NoteProperty double Points=71301.6000000006

属性更改为[double]。我挖了一下,我发现 Powershell 的GenericMeasureInfo.SumProperty 只能返回一个Nullable<Double>实例作为属性值。

似乎我正在产生溢出[double],因为显示的数字完全错误。我想坚持使用十进制或整数,所以我有类似71123.4或类似的输出。

有没有其他方法,所以我不必使用(Measure-Object -sum).Sum

提前致谢!

0 投票
2 回答
923 浏览

powershell - Powershell - Import-CSV Group-Object SUM 来自分组对象的数字,然后将所有分组对象组合到单行

我有一个与此类似的问题,但有一点不同: CSV 中的 Powershell Group Object and exporting it

我的文件有 42 个现有标题。分隔符是标准逗号,此文件中没有引号。

master_account_number,sub,txn,cur,last,first,address,address2,city,state,zip,ssn,credit,email,phone,cell,workphn,dob,chrgnum,cred,max,allow,neg,plan,downpayment,pmt2,min,clid,cliname,owner,merch,legal,is_active,apply,ag,offer,settle_perc,min_pay,plan2,lstpmt,orig,placedate

文件的数据(前 6 列)如下所示:

我只使用第一列master_account_number和第四列cur。我想检查“master_account_number”列的重复项,如果找到,然后将第 4 列“cur”的总数相加,仅针对找到的那些重复项,然后对我们刚刚进行总和的任何行进行合并。来自骗子的总和值应该替换cur我们组合行中的值。

话虽如此,我们的输出应该是这样的。

现在我们已经解决了这个问题,这就是这个问题的不同之处。我想在输出文件中保持所有 42 列不变。在我上面提到的另一个问题中,输入是 5 列,输出是 4 列,这不是我想要实现的。我有更多的标题,我不想单独指定所有 42 列。无论如何,这似乎效率低下。

至于我到目前为止的代码......不多。

最终我希望输出看起来与输入相同,只有输出应该合并重复的帐号行,并在 cur 字段中添加所有“cur”值,其中合并的行包含分组的 cur 值的总和。

最后更新:尝试了 Rich 的解决方案,但出现错误。修改了他对此所做的事情$dupesGrouped = $revCSV | Group-Object master_account_number | Select-Object Name, @{Name='curSum'; Expression={ ($_.Group | Measure-Object cur -Sum).Sum}} ,这让我得到了我自己的代码让我得到的东西,所以我仍在寻找解决方案。我需要用所有 42 个标题输出这个 CSV。即使对于没有重复的项目。

我尝试过的其他事情: 这并没有给我列中需要的数据,列在那里但它们是空白的。

0 投票
2 回答
1384 浏览

powershell - 如何仅从 PowerShell 中的 Measure-Object 返回整数?

我想运行一段代码来计算文本文件中有多少个字符并将其保存为另一个文本文件,但我需要输出只是一个数字。

这是我在 PowerShell 中运行的代码:

Get-Content [File location] | Measure-Object -Character | Out-File -FilePath [Output Location]

它保存这样的输出:

有什么办法可以只保存号码吗?

0 投票
4 回答
413 浏览

powershell - 如何防止 PowerShell 的 Measure-Object cmdlet 截断您的数据?

我正在尝试比较以下数据以获得最大的数字:

为此,我尝试使用内置的“测量”功能。这是我正在执行的代码

结果如下

正如您所看到的,它正在返回正确的数据,它正在截断最后几位数字。

有没有办法防止这种截断?