搜寻学校足球成绩页面。如何从数据框中删除\ n \ t并结合几个bs4.element.ResultSet?

一个正在进行的项目...由python新手开发!!我已经从学校网站创建了4个“类'bs4.element.ResultSet”,称为游戏(胜利),平局,平局和习惯。我通过取消所有学校成绩并汇总来帮助联盟。我不知道如何将这4个element.resultsets组合到一起,以便我可以运行程序的其余部分。现在,它仅将“游戏(获胜)”保存到excel电子表格中。同样在下面的输出中有大量的空格-我如何摆脱那些\ n \ t?在此先感谢您的帮助。

from bs4 import BeautifulSoup as bs
import requests
import pandas as pd
import re

url = 'https://www.loomischaffee.org/athletics/teams/fall/soccer-boys/varsity'
page = requests.get(url)
soup = bs(page.content,'html.parser') 

week = soup.find(id='fsEl_5138')

games = week.find_all(class_ ='fsResultWin')
draws = week.find_all(class_ ='fsResultTie')
ties = week.find_all(class_ ='fsResultLoss')
custom = week.find_all(class_ ='fsResultCustom')

# now creating 6 lists of the data contained in the above. 
date = [games.find(class_ = 'fsDate').get_text() for games in games]
time = [games.find(class_ = 'fsTime').get_text() for games in games]
opponent = [games.find(class_ = 'fsAthleticsOpponentName').get_text() for games in games]
home_away = [games.find(class_ = 'fsAthleticsAdvantage').get_text() for games in games]
location = [games.find(class_ = 'fsAthleticsLocations').get_text() for games in games]
result = [games.find(class_ = 'fsAthleticsResult').get_text() for games in games]
score = [games.find(class_ = 'fsAthleticsScore').get_text() for games in games]

# now I turn data into a table using pandas so I can manipulate

results = pd.DataFrame(
        {'Date': date,'Time': time,'Opponent': opponent,'Home/Away': home_away,'Location' : location,'Result': result,'Score': score,})

print(results)
results.to_excel('results.xls')
dilixinxi123 回答:搜寻学校足球成绩页面。如何从数据框中删除\ n \ t并结合几个bs4.element.ResultSet?

在您写.get_text()的地方, 您可以使用.get_text().strip()去除空格。

您要存储几列, 可能效果很好 您可以根据需要将它们与zip(x,y)结合使用。 但是,您可能会发现请求BeautifulSoup查找表更方便, 然后在表中find_all('tr'),即遍历行。

考虑像这样表示表行(的一部分):

row = dict(opponent='vs. Northfield Mt. Hermon',advantage='Home',score='1-1')

如果您有一个tr对象(一个表行),则可以轻松找到这些值。

有了这个,您可以将整个表格表示为行列表, 每行都是一个dict

然后将行一直输出到电子表格。 或$ pip install pandasyou can do

rows = read_html_table_rows()
df = pandas.Dataframe(rows)
df.to_excel('results.xls')
本文链接:https://www.f2er.com/3169555.html

大家都在问