我正在 powershell 脚本中加载一些 CSV 数据,并对字段进行分组和求和。它本身工作正常,但总和计算不正确,因为出于某种原因它使用了错误的文化设置。我的数据使用 , 作为分隔符而不是 .
我尝试过设置文化,但不起作用。
设置文化-CultureInfo da-DK;
我能做什么?
要仅为脚本范围设置文化,请使用
[cultureinfo]::CurrentCulture=Get-Culture -Name da-DK
(它仅在调用后才开始对该行生效)
但是,如果您从特定文化的 CSV 导入,那么您应该在设置文化后使用
Import-Csv
和 -UseCulture
(显然
da-DK
会根据所涉及的文化而改变)
总和将是整数数学总和。当您从 csv 导入时,它以文本形式出现。所以这可能是你的问题。而不是分隔符。 (CSV 默认为“,”逗号分隔符。但您可以在导入过程中更改它。例如
import-csv -分隔符 '.'文件.csv
听起来您需要做的是将您想要的列更改为整数(数字)。由于您没有粘贴 CSV 格式,这里有一个示例
姓名、年龄
戴夫,21
史蒂夫,45
现在导入它,并将年龄列转换为数字:
$CSVData = 导入 csv myfile.csv |选择姓名,@{l='年龄';e={[int]$_.Age}}
现在,变量 $CSVData 会将年龄列作为数字,并且可以排序并能够进行数学运算等。