在powershell脚本中设置文化,sum

问题描述 投票:0回答:2

我正在 powershell 脚本中加载一些 CSV 数据,并对字段进行分组和求和。它本身工作正常,但总和计算不正确,因为出于某种原因它使用了错误的文化设置。我的数据使用 , 作为分隔符而不是 .

我尝试过设置文化,但不起作用。

设置文化-CultureInfo da-DK;

我能做什么?

powershell culture
2个回答
0
投票

要仅为脚本范围设置文化,请使用

[cultureinfo]::CurrentCulture=Get-Culture -Name da-DK
(它仅在调用后才开始对该行生效)

但是,如果您从特定文化的 CSV 导入,那么您应该在设置文化后使用

Import-Csv
-UseCulture

(显然

da-DK
会根据所涉及的文化而改变)


0
投票

总和将是整数数学总和。当您从 csv 导入时,它以文本形式出现。所以这可能是你的问题。而不是分隔符。 (CSV 默认为“,”逗号分隔符。但您可以在导入过程中更改它。例如

import-csv -分隔符 '.'文件.csv

听起来您需要做的是将您想要的列更改为整数(数字)。由于您没有粘贴 CSV 格式,这里有一个示例

姓名、年龄

戴夫,21

史蒂夫,45

现在导入它,并将年龄列转换为数字:

$CSVData = 导入 csv myfile.csv |选择姓名,@{l='年龄';e={[int]$_.Age}}

现在,变量 $CSVData 会将年龄列作为数字,并且可以排序并能够进行数学运算等。

© www.soinside.com 2019 - 2024. All rights reserved.