Преобразование нескольких файлов csv в документ Json с использованием Python

Я новичок в Python, и я пытаюсь превратить несколько файлов csv, извлеченных из реляционной базы данных, в документ Json.

Я нашел код, который превращает одиночный csv в json-документ, но я хочу сохранить отношения в csv-файлах и структурировать мой Json-документ в соответствии с этим

import csv
import json

input_file = 'Test3.csv'
output_file_template = 'Test.json'

with open(input_file, 'r', encoding='utf8') as csvfile:
  reader = csv.DictReader(csvfile, delimiter=',')
  rows = list(reader)

for i in range(len(rows)):
  out = json.dumps(rows[1*i:1*(i+1)])
  with open(output_file_template.format(i), 'w') as f:
    f.write(out)

CSV1 - Сведения о студенте

Studentid, Studentname, dob
001, Mark Johns, 21/04/2010
002, Jenny King, 20/01/2009
003, Steve Brown, 02/09/2010

CSV2- модули

 Moduleid, Modulename
    01, Maths
    02, Science
    03, Art
    04, Geometry

CSV3 - сведения о классе

 classid, classname
    01, Goldfish room
    02, Hawkins room

CSV4 - подробности расписания

moduleid1, classid, studentid
01, 01, 003
01, 01, 002
02, 02, 001

Я хочу записать в документ json в структуре ниже:

"timetable details"
"header":{ "moduleid":, "locationid" },
"body": { "moduleid",
      "Modules":{
         "moduleid":,
         "modulename":
         },
"classid":,
"class details":{
        "classid":,
        "classname":
        },  
"studentid",
 "studentdetails":{
        "studentid":,
        "studnetname":,
        "dob":
        }
}

какие ваши усилия? Ты это пробовал? если да, то как?

Omkar Mozar 27.07.2018 12:40

Вы пытались использовать модуль csv для их чтения и создания словаря, а затем выгружать его как файл json ?. Вот и все

Arockia 27.07.2018 12:42

@Arockia, спасибо. Как я могу создать этот словарь, взяв всю информацию о кусках, используя fk в файлах csv, пожалуйста?

elmify 27.07.2018 14:26
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
391
1

Ответы 1

Используйте Читатель CSV для синтаксического анализа файлов CSV в объекты Python, из этих объектов создайте объект с желаемым форматом, как в вашем примере, затем используйте Дамп JSON для создания строки в формате JSON, которую вы можете записать в файл

благодарю вас! Я думаю, что ключевым моментом здесь будет создание объекта при извлечении соответствующих полей из каждого файла. Не могли бы вы направить меня к подходящему ресурсу для этого?

elmify 27.07.2018 14:26

Другие вопросы по теме