Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/47: Рейтинг темы: голосов - 47, средняя оценка - 4.91
 Аватар для Pavelpds
8 / 8 / 0
Регистрация: 26.01.2019
Сообщений: 35

Сохранение в файл JSON

12.05.2019, 18:10. Показов 9560. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо сохранить данные в файл формата json.
Имеется код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import psycopg2
import sqlite3
import json
 
pg_connection = #данные соединения 
conn = psycopg2.connect(**pg_connection)
cursor = conn.cursor()
sql_str = """
    SELECT movieid, COUNT(movieid) FROM ratings 
    GROUP BY movieid 
    ORDER BY COUNT(movieid) DESC LIMIT 10;
"""
cursor.execute(sql_str)
row_count = [i for i in cursor.fetchall()]
conn.commit()
cursor.close()
for row in row_count:
    row_dict = {"movieid": row[0], "popularity": row[1]}
    popular_json = json.dumps(row_dict)
    print(popular_json)
with open("./content_popularity.json", "w") as file:
    file.write(popular_json)
Получаем:


Но при чтении:
Python
1
2
3
with open("./content_popularity.json") as f:
    d = json.load(f)
    print(d)
Видим только последний элемент; из этого следует, что сохранился только он.


Что необходимо поменять в коде, чтобы сохранились все элементы?
Подскажите, пожалуйста!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.05.2019, 18:10
Ответы с готовыми решениями:

[JSON] Правильное сохранение настроек в Json файл
Добрый день уважаемые участники. Есть вопрос. Решил я сохранять настройки проги в json файл. Начну с начала.. Есть Класс

Сохранение в json файл
Как сделать, чтобы данные c анкеты сохранялись в json файл? C#.

[UWP] Сохранение JSON в файл
Народ, не подскажете, что не так с этим кодом? После сохранения JSON в файл, добавляется ещё один символ "}" в конец документа. ...

6
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
12.05.2019, 18:19
Pavelpds, Чисто логически
Python
1
2
3
4
5
6
with open("./content_popularity.json", "w") as file:
    for row in row_count:
        row_dict = {"movieid": row[0], "popularity": row[1]}
        popular_json = json.dumps(row_dict)
        print(popular_json)
        file.write(popular_json)
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,300
12.05.2019, 18:23
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Чисто логически
А разве так можно с json? Вроде сперва надо сформировать из всех данных список или словарь а потом разом дампнуть
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
12.05.2019, 18:33
Цитата Сообщение от tooru Посмотреть сообщение
А разве так можно
А ты проверь
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,300
12.05.2019, 18:44
Цитата Сообщение от iSmokeJC Посмотреть сообщение
А ты проверь
Проверил, модуль json прочитать то, что получилось не может
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
12.05.2019, 18:47
tooru, попробуй
Python
1
file.writelines(popular_json)
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,300
12.05.2019, 18:55
Цитата Сообщение от iSmokeJC Посмотреть сообщение
попробуй
То же самое, вот так заработало

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import json
 
row_count = [[1, 0], [2, 1], [3, 2]]
 
popular_json = {}
popular_json['data'] = []
 
for row in row_count:
    row_dict = {"movieid": row[0], "popularity": row[1]}
    popular_json['data'].append(row_dict)
 
json_data = json.dumps(popular_json)
with open("content_popularity.json", "w") as file:
    file.writelines(json_data)
 
with open('content_popularity.json') as json_file:  
    data = json.load(json_file)
    print(data)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.05.2019, 18:55
Помогаю со студенческими работами здесь

Не работает сохранение в Json файл
Доброго времени суток, я столкнулся с проблемой у меня есть кнопка по нажатию которой в список List<> добавляеться строка но в...

Сохранение List в Json файл
У меня есть класс(с сериалезацией), а нём список. Мне надо этот класс сохранить в формате Json, но при сохранении файл оказывается пуст....

Сохранение строки JSON в файл
Доброго дня. По моему достаточно простая операция, но что то я затупил и не как не могу разобраться, нужен совет со стороны. В общем...

Сохранение HTML строки в JSON файл
Как можно корректно сохранить html строку в json файл? Например {"id": 1, "html": " style type="text/css"...

Редактирование и сохранение изменений в файл JSON
с записью и чтением все понятно, примеров полно. Подскажите, пожалуйста, как можно редактировать json считанные json объекты и сохранять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru