2012-04-27 49 views
-2

下面是一些代碼:LXML - 函數返回清洗對象,而不是隻是一個字符串

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

+3

「我想將該變量作爲一個對象返回,以便稍後調用。」請更詳細地解釋這一點。你能舉一個你想如何使用你的對象的例子嗎?提供一個最簡單的測試案例,說明如何利用未來的解決方案。 – user1202136 2012-04-27 08:15:48

+0

使用'var = finance [num] .attrib ['data']' - 它更好地闡明瞭你所做的事情。 – 2012-04-27 08:19:06

回答

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'] 
+0

謝謝!這是一個不太脆弱的做法。 – snakesNbronies 2012-04-27 19:49:51

相關問題