Python 如何从字符串中拉出某个片段

Python 如何从字符串中拉出某个片段,python,json,yahoo-finance,Python,Json,Yahoo Finance,我使用的是一个API,它将我的输出格式化为 ['{"quote":{"symbol":"AAPL"', '"companyName":"Apple Inc."', '"primaryExchange":"Nasdaq Global Select"', '"sector":"Technology"', '"c

我使用的是一个API,它将我的输出格式化为

 ['{"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()函数:)