2017-08-14 47 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) 
相关问题