【问题标题】:Best way to use Yahoo-Finance Python API使用 Yahoo-Finance Python API 的最佳方式
【发布时间】:2016-02-16 01:21:36
【问题描述】:

使用 Python Yahoo-Finance API 输出历史数据的结构如下:

{u'Adj_Close': u'63.209999',
 u'Close': u'63.209999',
 u'Date': u'2015-08-27',
 u'High': u'63.259998',
 u'Low': u'61.080002',
 u'Open': u'61.459999',
 u'Symbol': u'CAM',
 u'Volume': u'22808600'}

处理这些数据的最佳方式是什么?例如,我如何访问 63.209999 的收盘价?我应该使用正则表达式吗?

【问题讨论】:

    标签: python regex yahoo-finance


    【解决方案1】:

    如图所示,您有一个dictionary;使用键访问字典中的值:

    >>> d={u'Adj_Close': u'63.209999',
    ...  u'Close': u'63.209999',
    ...  u'Date': u'2015-08-27',
    ...  u'High': u'63.259998',
    ...  u'Low': u'61.080002',
    ...  u'Open': u'61.459999',
    ...  u'Symbol': u'CAM',
    ...  u'Volume': u'22808600'}
    >>> 
    >>> 
    >>> d['Close']
    u'63.209999'
    >>> d['High']
    u'63.259998'
    

    但是,您可能有一个 JSON 字符串。如果是这样,您可以使用 json.loads() 将 JSON 字符串转换为字典:

    >>> s = '{"High": "63.259998", "Volume": "22808600", "Low": "61.080002", "Date": "2015-08-27", "Close": "63.209999", "Symbol": "CAM", "Open": "61.459999", "Adj_Close": "63.209999"}'
    >>> import json
    >>> d = json.loads(s)
    >>> d['Close']
    u'63.209999'
    

    【讨论】:

      【解决方案2】:

      Pandas 是处理此类表格问题的优秀库。

      你可以这样做

      >>> import pandas as pd
      >>>
      >>> data = {u'Adj_Close': u'63.209999',
      ...         u'Close': u'63.209999',
      ...         u'Date': u'2015-08-27',
      ...         u'High': u'63.259998',
      ...         u'Low': u'61.080002',
      ...         u'Open': u'61.459999',
      ...         u'Symbol': u'CAM',
      ...         u'Volume': u'22808600'}
      >>>
      >>> df = pd.DataFrame(data.items())
      >>> print df.head()
              0           1
      0    High   63.259998
      1  Volume    22808600
      2     Low   61.080002
      3    Date  2015-08-27
      4   Close   63.209999
      

      注意:注意u'Symbol': u'CAM',因为它是scalar value

      【讨论】:

        猜你喜欢
        • 2018-08-11
        • 2017-09-06
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        • 2010-10-06
        • 2016-05-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多