python - 写入 csv 时出现 Python 错误。我究竟做错了什么?
问题描述
我收到这个错误。我正在尝试将此 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)
解决方案
似乎 df 已经是一个数据框。所以我认为你不需要第 48 行。之后你可以这样做:
df.to_csv(r'C:\Users\harsh\Desktop\Temp1\consolidated.csv', sep=',', encoding='utf-8-sig', index=False)
推荐阅读
- javascript - 是否可以从公共文件夹导入 vue 组件?
- algorithm - 在彼得森算法中启用标志之前设置转变量
- python - Python 密码学 Fernet.generate_key() 密钥长度
- android - 背景视频无法在 Android 上的 Chrome 上播放
- c++ - 如何将 std::string 用于 Const Char 参数
- react-native - React Native Animated.timing() 多个动画
- perl - 如何在 Perl 中禁用常量折叠?
- reactjs - React 组件代码组织最佳实践
- ios - 尽管“hasStrings”为真,但 UIPasteBoard“string”属性返回 nil
- r - 将目录中的所有 bib 文件添加到 bookdown