【发布时间】:2020-09-24 10:53:39
【问题描述】:
喂,
我正在尝试从 JSON 文件中获取值。值的存储方式如下:"3,4488636215177E-12"。
我以前从未使用过 PowerShell。
我试试这个:
(Invoke-WebRequest -Uri "https://api.minerstat.com/v2/coins?list=BTC,ETH,ETC" | ConvertFrom-Json) | ? coin | select reward,price,coin | epcsv minerstat.csv -not
$Minerstat = import-csv -Path ".\minerstat.csv" -Delimiter ","
$ETH_reward = $Minerstat | where{$_.coin -eq "ETH"} | select -expandProperty reward
$ETH_price = $Minerstat | where{$_.coin -eq "ETH"} | select -expandProperty price
但我没有办法做这么简单的事情:$ETH_proffit = ( $ETH_reward * $ETH_price)
谢谢 ;)
【问题讨论】:
-
我的系统使用点而不是逗号,所以我不得不将逗号更改为点......但是这个>>>
$Test = iex "3.4488636215177E-12"; $Test.GetType().NameDouble。跨度> -
您的逗号有问题。一方面,您的数字使用逗号将整数部分与小数部分分开。另一方面,您使用逗号作为 csv 文件的分隔符。除非双引号将 csv 文件中的数字括起来,否则逗号将被读取为字段分隔符,从而在 Import-csv 中产生垃圾。
-
你需要知道你当地的文化是使用逗号还是小数点作为小数分隔符,以及Powershell使用的是哪种文化。
-
@WalterMitty 这不是问题,
epcsv(又名Export-Csv)会自动引用列值
标签: powershell