【问题标题】:converting multiple csv files into a Json document using Python使用 Python 将多个 csv 文件转换为 Json 文档
【发布时间】:2019-01-04 11:22:47
【问题描述】:

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

【问题讨论】:

  • 你的努力是什么?你试过了吗?如果是,那么如何?
  • 您是否尝试使用 csv 模块来读取它们并创建字典,然后将其转储为 json 文件?就是这样
  • @Arockia 谢谢。请问如何通过在 csv 文件中使用 fk 获取所有片段信息来创建这本词典?

标签: python json csv


【解决方案1】:

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

【讨论】:

  • 谢谢!我认为这里的关键是创建一个对象,同时从每个文件中检索相关字段。您能否指导我找到合适的资源?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-25
  • 2023-03-28
  • 1970-01-01
  • 2022-09-23
  • 2018-12-19
  • 1970-01-01
  • 2018-11-14
相关资源
最近更新 更多