使用Phyton将多个csv文件转换为Json文档

时间:2018-07-27 10:37:02

标签: python json csv

我是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":
        }
}

1 个答案:

答案 0 :(得分:0)

使用CSV reader将CSV文件解析为Python对象,从这些对象中创建具有所需格式的对象(如您的示例所示),然后使用JSON dump创建一个JSON格式的字符串,您可以{{3 }}