#python #api #python-requests
#python #API #python-запросы
Вопрос:
хорошо, поэтому я использую python 3
я смог получить данные api с помощью print(endpoint.json())
но я хочу сделать его доступным для чтения с помощью pandas, чтобы мне было проще выполнять итерации.
это код (имейте в виду, что я отказался от своего собственного ключа api и использую rapid api в качестве ресурса (в частности, базы данных фильмов)
import requests
import json
import pandas
url = "https://movies-tvshows-data-imdb.p.rapidapi.com/"
querystring = {"type":"get-popular-movies","page":"1","year":"2020"}
headers = {
'x-rapidapi-host': "movies-tvshows-data-imdb.p.rapidapi.com",
'x-rapidapi-key': my key
}
response = requests.request("GET", url, headers=headers, params=querystring)
data=response.json()
df=pandas.read_json(data)
print(df)
я получаю эту ошибку
Traceback (most recent call last):
File "c:UsersHomeDocumentsstudyingnewprojectnewproject.py", line 15, in <module>
df=pandas.read_json(data)
File "C:UsersHomeAppDataLocalProgramsPythonPython38libsite-packagespandasutil_decorators.py", line 199, in wrapper
return func(*args, **kwargs)
File "C:UsersHomeAppDataLocalProgramsPythonPython38libsite-packagespandasutil_decorators.py", line 296, in wrapper
return func(*args, **kwargs)
File "C:UsersHomeAppDataLocalProgramsPythonPython38libsite-packagespandasiojson_json.py", line 593, in read_json
filepath_or_buffer, _, compression, should_close = get_filepath_or_buffer(
File "C:UsersHomeAppDataLocalProgramsPythonPython38libsite-packagespandasiocommon.py", line 243, in get_filepath_or_buffer
raise ValueError(msg)
ValueError: Invalid file path or buffer object type: <class 'dict'>
Ответ №1:
В вашем случае данные являются dict.
Итак, попробуйте с:
pandas.DataFrame.from_dict(data)
Комментарии:
1. как я могу взять его dataframe и вставить в текстовый файл? он говорит, что я не могу, поскольку это фрейм даты
2. фрейм данных подходит для файла CSV. итак, как только вы сохраните это в переменной с именем df, вы можете выполнить df.to_csv(‘/path/to/file.csv’)