我有一个聊天机器人,可显示从呼叫到 API 的信息。
def btcChange(bot, update):
"""Send a message when the command /btc24 is issued."""
btcChangeCallJson = requests.get("https://min-api.cryptocompare.com/data/pricemultifull?fsyms=BTC&tsyms=USD,EUR").json()
btcChange = btcChangeCallJson['RAW']['BTC']['USD']['CHANGE24HOUR']
btcVol = btcChangeCallJson ['RAW']['BTC']['USD']['TOTALVOLUME24HTO']
btcPrice = btcChangeCallJson ['RAW']['BTC']['USD']['PRICE']
update.message.reply_text("Price change over 24H: $" + str (btcChange)+
" Volume for 24 hours : ${}".format(btcVol)+
" The price of the coin is: ${}".format(btcPrice))
我想更清楚地显示以下信息:
(btcChange)
,(btcVol)
,(btcPrice)
等适当的逗号。答案 0 :(得分:1)
如果您想在JSON中使用逗号…那么,您不能;这将使它成为无效的JSON(任何程序都无法读取),因此Python的json
库不允许您这样做。
如果整个JSON内容无关紧要,并且您只想知道在使用str.format
格式化数字时如何获取逗号,那么您只需要查看Format Specification Mini-Language或第三个-派对教程或备忘单不那么密集)。
如果您拥有现代版本的Python,则有两种选择。 1
,
的{{1}}可以与任何普通数表示形式一起使用,包括整数的默认grouping_option
类型,并且每三位数添加一个逗号:
d
或者,您可能想使用特殊的表示类型>>> "Price: ${:,}".format(100000)
'Price: $100,000'
,该类型为您当前的语言环境使用适当的分隔符。这可能是每3位逗号,每3位小数点,在印度使用的...- 2-2-3等,具体取决于您的语言环境。尽管默认的“ C”语言环境实际上根本没有分隔符,所以如果这是您的设置,它可能就不会很有用:
n
1。基本上,这意味着2.7或3.1+,覆盖了当今大多数人。分组选项是在3.6中添加的,但>>> "Price: ${:n}".format(100000)
'Price: $100000'
的特殊情况只是细节稍有不同,可以追溯到2.7 / 3.1。 ,
返回到n
的初始版本,但是直到2.7 / 3.1才做正确的事情。