【问题标题】:lxml - function to return cleaned object, not just a string [closed]lxml - 返回清理对象的函数,而不仅仅是一个字符串[关闭]
【发布时间】:2012-04-27 08:08:41
【问题描述】:

这是一些代码:

from lxml import etree
url = 'http://www.google.com/ig/api?stock=aapl'
data = etree.parse(url) 
root = data.getroot()
finance = root[0]


def clean(var, num):
    var = str(finance[num].attrib).split("'")[-2]
    print var

我想将该变量作为一个对象返回,以便以后调用。

我知道问题出在哪里 - str() - 但不知道如何解决它,因为直接使用变量不允许我使用 .attrib.split 进行必要的操作

【问题讨论】:

  • "我想将变量作为一个对象返回,以便稍后调用。"请更详细地解释这一点。你能举例说明你想如何使用你的对象吗?提供您希望如何利用未来解决方案的最小测试案例。
  • 使用var = finance[num].attrib['data'] - 它可以更好地阐明您的工作。

标签: python xml django lxml


【解决方案1】:

假设您想从 XML 中收集信息,请执行以下操作:

data = dict()
for elem in finance:
    data[elem.tag] = elem.attrib['data']

您将在data 变量中获得字典,例如:

{'symbol': 'AAPL', 'company': 'Apple Inc.', 'currency': 'USD', 'volume': '19145182' ... }

您将能够访问特定的信息:

print data['company']

【讨论】:

  • 谢谢!这是一种不那么脆弱的方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-03
  • 2012-10-25
  • 1970-01-01
相关资源
最近更新 更多