2017-08-14 46 views
0

如何將數據拉到以下您能找到的文字?這是一個簡短的問題。更多的上下文是...如何在Python腳本找到的文本下拉行?

我正在學習Python,作爲一個練習,我從雅虎幻想棒球拉動棒球統計數據。我將網頁中的數據應對並粘貼到文本文件中。這是凌亂的,看起來像這樣:

Player Note 
Charlie Blackmon Col - OF 
8:40 pm vs Atl ? 
? 
Atl 
Video Playlist 
Video Forecast 
Autodraft Hero 
115 
12 
3 
99% 
159/474 
106 
27 
74 
11 
.335 
? 

我能夠設置一個簡單的腳本拉出與ballplayers名稱的行。見下文。

a=open('batters.txt') 
for line in a: 
    if '-' in line: 
     print(line) 

不過,我也想拉本壘打總數(前27),從數據的打擊率(例如,.335)。

我想它是這個樣子:提前

Charlie Blackmon Col - OF, HR: 27, BA: .335 

感謝您的建議!

+0

我的建議是,你看看多行正則表達式。正則表達式可能令人望而生畏,但它們是爲了這個確切的用例而做的 - 看到這個問題 - https://stackoverflow.com/questions/587345/regular-expression-matching-a-multiline-block-of-text –

回答

-1

我建議你使用聲明,因爲它是自動關閉文件句柄,下一個讀取文件中的所有行列表和訪問它。例如:print(lines [1])#Charlie Blackmon Col - OF。

你可以試試這個代碼片段:

with open('batters.txt') as file: 
    lines = file.read().splitlines() 
    temp = '%s, HR: %s, BA: %s' 
    result = temp % (lines[1], lines[14], lines[17],) 
    print(result) 
相關問題