Abl*_*her 2 python json dataframe web-scraping pandas
我想使用这个web scrape创建一个pandas数据框,这样我可以将数据导出到excel.有人熟悉这个吗?我在网上和网站上看到了不同的方法,但是无法通过这种方法成功复制结果.
这是迄今为止的代码:
import requests
source = requests.get("https://api.lineups.com/nba/fetch/lineups/gateway").json()
for team in source['data']:
print("\n%s players\n" % team['home_route'].capitalize())
for player in team['home_players']:
print(player['name'])
print("\n%s players\n" % team['away_route'].capitalize())
for player in team['away_players']:
print(player['name'])
Run Code Online (Sandbox Code Playgroud)
这个网站似乎很有用,但示例不同:
https://www.tutorialspoint.com/python_pandas/python_pandas_dataframe.htm
这是stackoverflow.com的另一个例子:
我是编码/抓取的新手,所以任何帮助都会非常感激.提前感谢您的时间和精力!
我已经添加了一个dataframe团队合作的解决方案,我希望这会有所帮助.Updated码
import requests
source = requests.get("https://api.lineups.com/nba/fetch/lineups/gateway").json()
players = []
teams = []
for team in source['data']:
print("\n%s players\n" % team['home_route'].capitalize())
teams.append(team['home_route'].capitalize())
teams.append(team['away_route'].capitalize())
temp = []
temp1 = []
for player in team['home_players']:
print(player['name'])
temp.append(player['name'])
print("\n%s players\n" % team['away_route'].capitalize())
for player in team['away_players']:
print(player['name'])
temp1.append(player['name'])
players.append(temp)
players.append(temp1)
import pandas as pd
df = pd.DataFrame(columns=teams)
for i in range(0, len(df.columns)):
df[df.columns[i]] = players[i]
df
Run Code Online (Sandbox Code Playgroud)
为了导出到excel,你可以做到
df.to_excel('result.xlsx')
Run Code Online (Sandbox Code Playgroud)