如何从字符串中提取值,如下所示?

时间:2017-09-08 07:51:51

标签: python

我想使用密钥名称从“字符串”中提取值。

我的代码如下:

import urllib.request


response = urllib.request.urlopen('https://finance.google.com/finance?q=NSE:RELCAPITAL&output=json')
html =str(response.read(),'utf-8')
    print(html)

我收到的输出是:

"symbol" : "RELCAPITAL",
"exchange" : "NSE",
"id": "374785",
"t" : "RELCAPITAL",
"e" : "NSE",
"name" : "Reliance Capital Limited"
, "f_reuters_url" : "http:\x2F\x2Fstocks.us.reuters.com\x2Fstocks\x2Fratios.asp?rpc=66\x26symbol=RLCP.NS",
"f_recent_quarter_date" : "", 
"f_annual_date" : "", 

我想选择symbol键的值。我该怎么做?

2 个答案:

答案 0 :(得分:0)

只要您不提供有关问题的更多详细信息,就只有开放式答案。

我会试着回答说:

  1. 如果您正在处理的数据类型确实是str,那么您应该尝试使用标准库中的re模块。这使您可以使用正则表达式,并以某种方式将结构添加到非结构化数据中;
  2. 如果您获得的数据由dict实例或其他结构化数据类型对象表示,则获取键值应该与执行do_something(response["symbol"])一样立即。
  3. 不幸的是,这些问题的答案都取决于您使用的编程接口,提供先验解决方案只能用一般术语来完成。

答案 1 :(得分:0)

您可以使用regex

import re

symbol = re.search("symbol\"[\s:\"]*(.*?)\"")

if (symbol):
    print(symbol.group(1))