【问题标题】:Python loop through URL'sPython 循环遍历 URL
【发布时间】:2018-08-27 08:50:42
【问题描述】:

我正在尝试从数据框中获取日期并在 URL 中循环它们。我设法打印了 URL(第一个代码),但是当我尝试将 URL 的 json 转换为数据框(第二个代码)时,我得到了这个响应。

AttributeError: 'str' 对象没有属性 'json'

#1st code
import requests
import pandas as pd

df = pd.read_csv('NBADates.csv')
df.to_dict('series')

for row in df.loc[ : ,"Date"]:
    url = url_template.format(row=row)
    print(url)

关于我做错了什么有什么想法吗?

#2nd code
import requests
import csv
import pandas as pd

url_template = "https://stats.nba.com/stats/leaguedashptstats?College=&Conference=&Country=&DateFrom={row}&DateTo={row}&Division=&DraftPick=&DraftYear=&GameScope=&Height=&LastNGames=0&LeagueID=00&Location=&Month=0&OpponentTeamID=0&Outcome=&PORound=0&PerMode=Totals&PlayerExperience=&PlayerOrTeam=Player&PlayerPosition=&PtMeasureType=SpeedDistance&Season=2017-18&SeasonSegment=&SeasonType=Regular+Season&StarterBench=&TeamID=0&VsConference=&VsDivision=&Weight="

df = pd.read_csv('NBADates.csv')
df.to_dict('series')

for row in df.loc[ : ,"Date"]:
    url = url_template.format(row=row)

    stats = url.json()['resultSets'][0]['rowSet']
    headers = url.json()['resultSets'][0]['headers']
    stats_df = pd.DataFrame(stats, columns=headers)

    # Append to the big dataframe
    lineup_df = lineup_df.append(stats_df, ignore_index=True)

lineup_df.to_csv("Stats.csv")

【问题讨论】:

  • url 在您的代码中是一个字符串。 url.json() 应该做什么?

标签: python


【解决方案1】:

我想你忘了请求 URL。你应该发送一个请求,如果响应是一个json,你应该解析它

【讨论】:

  • 哦,谢谢,我在请求中添加了,但现在我得到了这个
  • json.decoder.JSONDecodeError:预期值:第 1 行第 1 列(字符 0)
  • 你能给我一个url,行数据从atted到字符串中
  • 看起来,有时什么都没有返回。检查以下链接,stackoverflow.com/questions/8381193/…
猜你喜欢
  • 2018-10-18
  • 2018-07-07
  • 2023-03-16
  • 1970-01-01
  • 2018-10-26
  • 2019-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多