Python 如何从字符串中拉出某个片段
我使用的是一个API,它将我的输出格式化为Python 如何从字符串中拉出某个片段,python,json,yahoo-finance,Python,Json,Yahoo Finance,我使用的是一个API,它将我的输出格式化为 ['{"quote":{"symbol":"AAPL"', '"companyName":"Apple Inc."', '"primaryExchange":"Nasdaq Global Select"', '"sector":"Technology"', '"c
['{"quote":{"symbol":"AAPL"', '"companyName":"Apple Inc."', '"primaryExchange":"Nasdaq Global Select"', '"sector":"Technology"', '"calculationPrice":"close"', '"open":367.88', '"openTime":1593696600532', '"close":364.11', '"closeTime":1593720000277', '"high":370.47', '"low":363.64', '"latestPrice":364.11'}]
…(它继续这样发展,有更多的类别。)
我只想拿出最新的价格。最好的方法是什么
这就是我所拥有的,但是我犯了很多错误
string = (data.decode("utf-8"))
data_v = string.split(',')
for word in data_v[latestPrice]:
if word == ["latestPrice"]:
print(word)
print(data_v)
从输出判断,这是JSON。要方便地解析它,请使用JSON模块(请参阅)
如果我是正确的,您从Yahoo Finance获得此输出,如果确实如此,请不要手动获取并解析它,而是使用yfinance模块(请参见),根据输出判断这是JSON。要方便地解析它,请使用JSON模块(请参阅)
如果我是正确的,您从Yahoo Finance获得了此输出,如果确实如此,请不要手动获取并解析它,而是使用yfinance模块(请参见)您必须使用
JSON
模块解析此JSON
字符串。你可以把它转换成字典。为了便于理解,我对JSON代码进行了缩进。您可以使用以下方法
import json
text_to_parse = """
{"quote":
{
"symbol":"AAPL",
"companyName":"Apple Inc.",
"primaryExchange":"Nasdaq Global Select",
"sector":"Technology",
"calculationPrice":"close",
"open":367.88,
"openTime":1593696600532,
"close":364.11,
"closeTime":1593720000277,
"high":370.47,
"low":363.64,
"latestPrice":364.11
}
}
"""
parsed_dict = json.loads(text_to_parse)
print(parsed_dict["quote"]["latestPrice"])
当程序运行时,它输出
364.11
您必须使用JSON
模块来解析此JSON
字符串。你可以把它转换成字典。为了便于理解,我对JSON代码进行了缩进。您可以使用以下方法
import json
text_to_parse = """
{"quote":
{
"symbol":"AAPL",
"companyName":"Apple Inc.",
"primaryExchange":"Nasdaq Global Select",
"sector":"Technology",
"calculationPrice":"close",
"open":367.88,
"openTime":1593696600532,
"close":364.11,
"closeTime":1593720000277,
"high":370.47,
"low":363.64,
"latestPrice":364.11
}
}
"""
parsed_dict = json.loads(text_to_parse)
print(parsed_dict["quote"]["latestPrice"])
当程序运行时,它会输出
364.11
这是一个基本文件,并从字典中提取元素。如果可能的话,最好以字典格式添加数据,然后以字符串格式添加数据,您会遇到什么错误?回溯(最后一次调用):文件“C:/Users/coby/PycharmProjects/radius final/main.py”,第29行,在当前值的文件“C:/Users/coby/PycharmProjects/radius final/main.py”的第22行中,在数据[latestPrice]中word的当前值的AAPL中:NameError:name'latestPrice'未定义进程结束,退出代码为1这是一个基本过程,从字典中提取元素。如果可能的话,最好以字典格式添加数据,然后使用字符串格式输入什么错误?回溯(最后一次调用):文件“C:/Users/coby/PycharmProjects/radius final/main.py”,第29行,在当前值的文件“C:/Users/coby/PycharmProjects/radius final/main.py”的第22行中,在数据[latestPrice]中word的当前值的AAPL中:NameError:name'latestPrice'未定义过程结束,退出代码为1我实际使用的是rapid api上列出的iex finance api,但谢谢。我实际使用的是rapid api上列出的iex finance api,但谢谢。该数字并不总是364.11,它在不断变化。每次我向api发出请求时,这个数字都会改变。我每次都需要一个方法来提取它。它不会总是364.11。代码仍然有效。您必须将JSON字符串传递给JSON.loads()函数:)该数字并不总是364.11,而是不断变化的。每次我向api发出请求时,这个数字都会改变。我每次都需要一个方法来提取它。它不会总是364.11。代码仍然有效。您必须将JSON字符串传递给JSON.loads()函数:)