2013-05-06 123 views
0

我要帶去信息從我的學校年級的網站和它出來作爲一個長字符串這是輸出:將字符串分割和分配給它的變量

[u'--'] 
[u'B', u'84'] 
[u'--'] 
[u'A-', u'90'] 
[u'--'] 
[u'C+', u'79'] 
[u'--'] 
[u'A', u'95'] 
[u'--'] 
[u'B', u'82'] 
[u'--'] 
[u'B', u'81'] 

即時通訊使用此得到了把

for cell in driver.find_elements_by_css_selector(".grid tr a[href$='fg=S2']"): 
    gradesList = cell.text.split('\n') 
    print gradesList 

我要分配的各個檔次的一個變量,但林不知道如何讓他們都分開,每個變量

+0

你可以把每一個作爲獨立的變量,你可以訪問列表的元素例如,「gradesList [0]」。 – squiguy 2013-05-06 05:01:39

+0

如果我打印成績列表[0]'它打印只是字母的成績,但他們仍然在一起 – Serial 2013-05-06 05:09:28

回答

1

它看起來像在循環中.split調用返回一個不同的NU許多元素取決於你正在查看的HTML標籤。如果沒有任何辦法可以過濾掉那些不好的標籤,這裏有一個乾淨的方式與解構賦值,如果有必要跳過元素:

for cell in driver.find_elements_by_css_selector(".grid tr a[href$='fg=S2']"): 
    gradesList = cell.text.split('\n') 
    if len(gradesList) < 2: 
     continue 

    letter_grade, score = gradesList 

    # Use variables... 

如果你能想出一個辦法,以避免與僅元素「 - - 」文本(?你解析庫的額外CSS類內容過濾器),我們可以得到一個不錯的列表理解:

grade_elements = driver.find_elements_by_css_selector(".grid tr a[href$='fg=S2']") 
grades = [g.text.split('\n') for g in grade_elements] 
+0

這個作品,但我希望每個年級有一個單獨的變量 – Serial 2013-05-06 05:11:57

+0

看到我更新的答案。如果你有一種只用' - '過濾元素的方法,你可以得到一個非常簡單的解決方案。 – 2013-05-06 05:16:32

+0

謝謝生病試圖找出一些東西 – Serial 2013-05-06 05:21:09

相關問題