Как добавить данные в json python
Перейти к содержимому

Как добавить данные в json python

  • автор:

добавление записи в json с помощью python

Понимаю, что вопрос простой, но не пойму как дописать в json. Есть json:

import json name = input("Имя: ") phone = input("Телефон: ") def create_json(): json_data = < "name": name, "phone": phone, >with open('db.json', 'w') as file: file.write(json.dumps(json_data, indent=2, ensure_ascii=False)) # create_json() def add_to_json(): json_data = < "name": name, "phone": phone, >data = json.load(open("db.json")) data.append(json_data) with open("db.json", "w") as file: json.dump(data, file, indent=2, ensure_ascii=False) add_to_json() 

Вылезает ошибка:

AttributeError: 'dict' object has no attribute 'append' 

Нужно добавить запись, что бы json имел такой вид:

Отслеживать

задан 1 мар 2021 в 6:23

53 1 1 золотой знак 4 4 серебряных знака 9 9 бронзовых знаков

что бы json имел такой вид: — это некорректный json. Чтобы записать несколько словарей в json, их нужно положить в список.

1 мар 2021 в 6:34

спасибо, теперь все получилось

Чтение и запись файлов JSON в Python с помощью Pandas

Библиотека Pandas предоставляет классы и функционал для чтения, обработки и визуализации данных, хранящихся в различных форматах. В этой статье мы научимся считывать и записывать данные JSON, используя Python и Pandas.

Создание файла JSON

Сначала мы создадим файл с использованием ядра Python, а затем считаем и запишем в него данные с помощью Pandas.

Создание данных JSON через вложенные словари

В Python для создания данных JSON можно использовать вложенные словари. Каждый элемент во внешнем словаре соответствует столбцу в файле JSON.

Ключ каждого элемента – заголовок столбца, а значение – другой словарь, состоящий из строк столбца. Реализуем словарь, который можно использовать для создания файла JSON со списком вымышленных пациентов:

patients = < "Name":, "Gender":, "Nationality":, "Age" : >

В приведенном выше коде первый элемент соответствует столбцу Name. Значение элемента состоит из словаря, в котором элементы являются строками. Ключи внутренних элементов словаря соответствуют порядковым номерам строк, где значения представляют значения строк.

Создание данных JSON через вложенные словари

В столбце Name первая запись сохраняется в нулевом индексе, где значением записи является John, и так далее.

Создание данных JSON через списки словарей

Еще один способ создания данных в формате JSON – использование списка словарей. Каждый элемент в списке состоит из словаря, а каждый словарь представляет строку. Этот подход удобнее для чтения, по сравнению с использованием вложенных словарей.

Создадим список для файла JSON, в котором хранится информация о разных автомобилях:

cars = [ , , , , ]

Каждому элементу словаря соответствует строка в файле JSON. Например, первый элемент в первом словаре хранит в столбце Name значение Honda. Значение в первой строке столбца Price будет 10000 и так далее.

Запись данных в файл JSON через Python

С помощью вложенных словарей и списков словарей можно сохранить данные в файле JSON. Для этого мы будем использовать модуль json и метод dump():

import json with open('E:/datasets/patients.json', 'w') as f: json.dump(patients, f) with open('E:/datasets/cars.json', 'w') as f: json.dump(cars, f)

Теперь у нас есть два файла JSON — patients.json и cars.json.

Чтение файлов JSON с помощью Pandas

Чтобы прочитать файл JSON с помощью Pandas, вызовем метод read_json() и передадим ему путь к файлу, который нужно прочитать. Метод возвращает DataFrame, который хранит данные в виде столбцов и строк.

Но сначала нужно установить библиотеку Pandas:

$ pip install pandas

Чтение JSON из локальных файлов

Приведенный ниже скрипт считывает файл patients.json из локальной системной директории и сохраняет результат во фрейме данных patients_df. Затем заголовок фрейма выводится с помощью метода head():

import pandas as pd patients_df = pd.read_json('E:/datasets/patients.json') patients_df.head()

Запуск этого кода должен дать следующий результат:

Чтение JSON из локальных файлов

Следующий скрипт считает файл cars.json из локальной системы и затем вызовет метод head()cars_df для вывода заголовка:

cars_df = pd.read_json('E:/datasets/cars.json') cars_df.head()

Результат запуска этого кода:

Чтение JSON из локальных файлов - 2

Чтение JSON из удаленных файлов

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

Давайте прочитаем и выведем заголовок из Iris Dataset:

import pandas as pd iris_data = pd.read_json("https://raw.githubusercontent.com/domoritz/maps/master/data/iris.json") iris_data.head()

Результат запуска этого кода:

Чтение JSON из удаленных файлов

Запись файлов данных JSON с помощью Pandas

Чтобы преобразовать фрейм данных Pandas в файл JSON, используем функцию to_json() и передадим ей в качестве параметра путь к файлу, который будет создан.

Создадим файл JSON из набора данных tips, который включен в библиотеку Seaborn. Но сначала установим ее:

$ pip install seaborn

Затем импортируем ее и загрузим подсказки в набор данных:

import seaborn as sns dataset = sns.load_dataset('tips') dataset.head()

Ниже показано как выглядит набор данных:

Запись файлов данных JSON с помощью Pandas

Функция Seaborn load_dataset() возвращает DataFrame, поэтому загрузка набора данных позволяет вызвать функцию to_json() для ее преобразования.

После получения доступа к набору данных, сохраним его содержимое в файле JSON. Мы создали для этого каталог datasets:

dataset.to_json('E:/datasets/tips.json')

Перейдя в каталог E:/datasets, вы должны увидеть там файл tips.json, JSON-данные которого соответствует записям во фрейме данных Pandas tips:

 < "total_bill":< "0":16.99, "1":10.34, "2":21.01, "3":23.68, "4":24.59, "5":25.29, . >"tip": < "0":1.01, "1":1.66, "2":3.5, "3":3.31, "4":3.61, "5":4.71, . >"sex": < "0":"Female", "1":"Male", "2":"Male", "3":"Male", "4":"Female", "5":"Male", . >"smoker": < "0":"No", "1":"No", "2":"No", "3":"No", "4":"No", "5":"No", . >.

Заключение

В этой статье мы рассмотрели, как считывать и записывать файлы JSON, используя популярную библиотеку Pandas Python.

Запишите данные JSON в файл на Python

В этом посте мы обсудим, как читать и записывать данные JSON из файла в Python.

Стандартный способ чтения и записи данных JSON из файла — использование json-модуль.

Чтобы прочитать файл JSON, вы можете просто вызвать метод json.loads() функция.

import json
import pprint
with open ( ‘data.json’ , ‘r’ ) as f :
data = f . read ( )
json_data = json . loads ( data )
print ( json_data )

Чтобы записать JSON в файл, вызовите json.dumps() функция.

import json
json_obj = json . loads ( ‘<"one": 1, "two": 2, "three": 3>‘ )
with open ( ‘data.json’ , ‘w’ ) as f :
json . dump ( json_obj , f )

The json.dumps() Функция по умолчанию выбирает наиболее компактное представление json. Для красивой печати json вы можете указать аргумент отступа.

1. Положительный уровень отступа отступает столько пробелов на уровень, т. е. JSON будет красиво напечатан с этим уровнем отступа.

import json
json_obj = json . loads ( json_str )
with open ( ‘data.json’ , ‘w’ ) as f :
json . dump ( json_obj , f , indent = 2 )

2. Если отступ представляет собой строку (например, ‘\t’ ), эта строка будет отступать на каждом уровне.

import json
json_obj = json . loads ( json_str )
with open ( ‘data.json’ , ‘w’ ) as f :
json . dump ( json_obj , f , indent = ‘\t’ )

3. Нулевой или отрицательный уровень отступа или пустая строка будут вставлять только новые строки.

import json
json_obj = json . loads ( json_str )
with open ( ‘data.json’ , ‘w’ ) as f :
json . dump ( json_obj , f , indent = 0 )

Вот и все, что касается записи данных JSON в файл на Python.

Оценить этот пост

Средний рейтинг 4.95 /5. Подсчет голосов: 22

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?

Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂

Подписывайся
0 Комментарии
Встроенные отзывы
Просмотреть все комментарии
Загрузить больше комментариев
Просматривать
Подпишитесь на новые публикации

  • Все проблемы
  • Практика DSA
  • 100 самых популярных задач
  • 50 лучших классических задач
  • Лучшие алгоритмы
  • Компилятор С/С++
  • Компилятор Java
  • Компилятор Python
  • Компилятор JavaScript
  • компилятор PHP
  • Компилятор C#
  • Свяжитесь с нами
  • Политика конфиденциальности
  • условия обслуживания
  • Подпишитесь на новые публикации

Techie Delight © 2023 Все права защищены.

Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно

Работа с JSON-файлами в Python

Бывает такое, что при открытии файлов в них оказываются данные, очень похожие на словари и списки. Или наоборот, вы хотите записать в файл словарь, но не знаете как это сделать. На помощь приходит стандартный модуль json .

JSON — текстовый формат данных, очень похожий на словари и списки. Изначально он пришёл из JavaScript, но сейчас используется повсеместно. Хоть данные и похожи на словари и списки, в файл записан обычный текст. Чтобы превратить его в словари и списки нужна библиотека json .

Прочитать JSON

Пусть есть файл capitals.json с очень похожим на словарь содержимым:

 "Россия": "Москва", "Беларусь": "Минск", "Казахстан": "Нур-Султан" > 

Простое открытие этого файла выглядит так:

with open("capitals.json", "r") as my_file: capitals = my_file.read() 

Проблема в том, что в capitals будет лежать не словарь, а строка. Если попытаться достать значение по ключу, то случится ошибка:

print(capitals["Россия"]) Traceback (most recent call last): File "", line 1, in module> TypeError: string indices must be integers 

Чтобы превратить строку в словарь понадобится модуль json . Его не нужно дополнительно устанавливать, он входит в стандартный набор библиотек:

import json with open("capitals.json", "r") as my_file: capitals_json = my_file.read() capitals = json.loads(capitals_json) 

Функция json.loads взяла строку capitals_json и на основе её данных сделала словарь. Теперь в capitals лежит не строка, а словарь:

print(capitals["Россия"]) # Москва 

«Девман» — авторская методика обучения программированию на Python. Готовим к работе крутых программистов.

Запись в файл

Если же вам нужно сохранить в файл словарь или список, то это тоже можно легко сделать, по аналогии. Сначала из словаря сделаем строку, затем сохраним её в файл:

import json capitals =  "Россия": "Москва", "Беларусь": "Минск", "Казахстан": "Нур-Султан" > capitals_json = json.dumps(capitals) with open("capitals.json", "w") as my_file: my_file.write(capitals_json) 

Читайте дальше

Попробуйте бесплатные уроки по Python

Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.

Переходите на страницу учебных модулей «Девмана» и выбирайте тему.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *