我收到此错误。我正在尝试将此df写到csv或excel(在这种情况下为excel。我也尝试使用CSV)。
有人可以帮忙完成代码吗?
如果符合良好代码的要求?
import pandas as pd
import requests
from bs4 import BeautifulSoup as bs
url = 'https://www.soccerbase.com/teams/home.sd'
r = requests.get(url)
soup = bs(r.content, 'html.parser')
teams = soup.find('div', {'class': 'headlineBlock'}, text='Team').next_sibling.find_all('li')
teams_dict = {}
for team in teams:
link = 'https://www.soccerbase.com' + team.find('a')['href']
team = team.text
teams_dict[team] = link
team = []
comps = []
dates = []
h_teams = []
a_teams = []
h_scores = []
a_scores = []
consolidated = []
for k, v in teams_dict.items():
print('Acquiring %s data...' % k)
headers = ['Team', 'Competition', 'Home Team', 'Home Score', 'Away Team', 'Away Score', 'Date Keep']
r = requests.get('%s&teamTabs=results' % v)
soup = bs(r.content, 'html.parser')
h_scores.extend([int(i.text) for i in soup.select('.score a em:first-child')])
limit_scores = [int(i.text) for i in soup.select('.score a em + em')]
a_scores.extend([int(i.text) for i in soup.select('.score a em + em')])
limit = len(limit_scores)
team.extend([k for i in soup.select('.tournament', limit=limit)])
comps.extend([i.text for i in soup.select('.tournament a', limit=limit)])
dates.extend([i.text for i in soup.select('.dateTime .hide', limit=limit)])
h_teams.extend([i.text for i in soup.select('.homeTeam a', limit=limit)])
a_teams.extend([i.text for i in soup.select('.awayTeam a', limit=limit)])
df = pd.DataFrame(list(zip(team, comps, h_teams, h_scores, a_teams, a_scores, dates)))
pd.set_option('display.width', 400)
pd.set_option('display.max_columns', 10)
d = pd.DataFrame(df)
# var = df[df['Team'] == 'Wolves']
pd.concat(df).to_csv(r'C:\Users\harsh\Desktop\Temp1\consolidated.csv', sep=',', encoding='utf-8-sig', index=False)
# print(df.to_string())
# print(df)
PY Noob
最佳答案
似乎df已经是一个数据帧。因此,我认为您不需要第48行。
之后,您可以做:
df.to_csv(r'C:\Users\harsh\Desktop\Temp1\consolidated.csv', sep=',', encoding='utf-8-sig', index=False)
关于python - 写入csv时发生Python错误。我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59051355/