СРОЧНО!!! Помогите написать код на Python, прошу объяснить и показать результаты из других файлов. Даю 50 балов!!!
1. Из приложенного к уроку json-файла, заберите данные и переместите их в таблицу csv, в удобном для вас виде.
2. Из json-файла, заберите данные и запишите в .txt те фильмы, в которых рейтинг по IMDb меньше 8.5 “
films": [
{
"name": "Interstellar",
"release": "2014",
"producer": "Christopher Nolan",
"evaluations": [
{
"name": "IMDb",
"result": 8.6
},
{
"name": "metacritic",
"result": 74
},
{
"name": "rottentomatoes",
"result": 72
}
],
"actors": [
"Matthew McConaughey",
"Anne Hathaway",
"Jessica Chastain"
]
},
{
"name": "The Conjuring",
"release": "2013",
"producer": "James Wan",
"evaluations": [
{
"name": "IMDb",
"result": 7.5
},
{
"name": "metacritic",
"result": 68
},
{
"name": "rottentomatoes",
"result": 86
}
],
"actors": [
"Patrick Wilson",
"Vera Farmiga",
"Lili Taylor"
]
},
{
"name": "La La Land",
"release": "2016",
"producer": "Damien Chazelle",
"evaluations": [
{
"name": "IMDb",
"result": 8.0
},
{
"name": "metacritic",
"result": 94
},
{
"name": "rottentomatoes",
"result": 91
}
],
"actors": [
"Ryan Gosling",
"Emma Stone",
"John Legend"
]
},
{
"name": "Pulp Fiction",
"release": "1994",
"producer": "Quentin Tarantino",
"evaluations": [
{
"name": "IMDb",
"result": 8.9
},
{
"name": "metacritic",
"result": 94
},
{
"name": "rottentomatoes",
"result": 92
}
],
"actors": [
"John Travolta",
"Samuel L. Jackson",
"Uma Thurman"
]
},
{
"name": "Spirited Away",
"release": "2001",
"producer": "Hayao Miyazaki",
"evaluations": [
{
"name": "IMDb",
"result": 8.6
},
{
"name": "metacritic",
"result": 96
},
{
"name": "rottentomatoes",
"result": 97
}
],
"actors": ["DaveighChase","SuzannePleshette","JasonMarsden"]
}
]
}
Ответы
Ответ:
Необходимо установить модуль pandas, чтобы работать с таблицами csv, а также модуль json для работы с json-файлами.
```python
import json
import pandas as pd
# Чтение данных из json-файла
with open('data.json') as f:
data = json.load(f)
# Создание таблицы csv
df = pd.DataFrame(data['films'])
# Сохранение таблицы в csv-файл
df.to_csv('films.csv', index=False)
# Запись фильмов с рейтингом IMDb меньше 8.5 в txt-файл
with open('films.txt', 'w') as f:
for film in data['films']:
imdb_rating = film['evaluations'][0]['result']
if imdb_rating < 8.5:
f.write(film['name'] + ', IMDb rating: ' + str(imdb_rating) + '\n')
```
Результаты будут сохранены в файлы films.csv и films.txt. В файле films.csv будет содержаться таблица csv с данными из json-файла, а в файле films.txt будут записаны названия фильмов с рейтингом IMDb меньше 8.5.
Объяснение: