我有一个网站,其中有一个.txt文件,我需要拉取这个存储在.txt文件中的JSON并对它们进行数学运算,我如何准确地拉取这些值?
例如,我有y.txt的内容
{'item1': a, 'price:' 1.00}
{'item2': b, 'price:' 2.00}我们如何才能仅从这两个项目中获得价格属性及其值(2+1)
import json
import requests
url = "https://x.com/y.txt"
data = requests.get(url)
// some math operations here
'price': 1 + 'price' : 2
//then store the results of this operation in another variable发布于 2021-04-19 01:24:18
要加载json数据,您将使用json.loads(text_that_is_json),这将返回一个根据解码后的json构造的对象,您可以访问在json中构造的值。您提供的示例不是有效的json。字符串应该在双引号中,而不是单引号中,a和b根本不需要引号,价格的冒号应该在引号内,而不是在引号外。此外,json代表javascript对象表示法,预计解析的是单个对象。如果所有其他错误都已修复,则文本文件似乎定义了多个对象。在您的示例中,它看起来像是每行一个对象,所以您可能希望将文本文件拆分为换行符,然后使用单独的json.loads调用解析每一行。例如:
item = json.loads('{"item1":"a","price":1.00}')
item["item1"] == "a" #True
item["price"] == 1.00 # True如果你可以控制有问题的txt文件,你应该用json.dumps创建它来解决格式化问题(只需传递一个可以转换成json的对象,该对象由列表、字典和在C++/java中被认为是简单类型的类型组成),你也不应该有像item1和item2这样的动态键名,我认为你真正想要的是item_name或item_code或其他什么,这样你就可以总是获得第一个值,而不必检查字典中定义了什么键。
https://stackoverflow.com/questions/67151332
复制相似问题