首页 > 解决方案 > 如何使用 python 3 将嵌套的 json 数据保存为 CVS 文件中的单个列?

问题描述

我需要将数据存储在 csv 文件的单独列中。特别是(专业经验)

列应该是这样的

日期、教育、电子邮件、ID、职位、手机号码、姓名、工作经验 1、日期 1、经验 1、工作经验 2、日期 2、经验 2、技能、总经验

Input

[{'Date': '12 12 2019',
  'Education': ['BSC'],
  'Email': None,
  'Id': None,
  'Job_position': [],
  'Mobile_number': None,
  'Name': 'Kenny Dosumu',
  'Professional experiance': [{'Date1': ['May 2016', 'Dec 2019'],
                               'Experiance1': 3,
                               'Working_Experiance1':['Project1: Aetna Insurance May 2016 – Present Scrum Master Responsibilities Indian and Philippines]},

                              {'Date2': ['Jan 2013', 'Apr 2016'],
                               'Experiance2': 3,
                               'Working_Experiance2': ['Project2: Children’s Hospital of Philadelphia Jan 2013 – Apr 2016 Responsibilities Keeping the team together all the time to ensure successful sprints. Migrating projects from Waterfall to Scrum is major responsibility.]}],

  'Skills': ['Vision',
             'Matrix',
             'Product owner',
             'Scrum',
             'Documents'],
  'Total_experience': 6}]

数据库输出

标签: python-3.x

解决方案


要完成您的任务,您必须将 json 文件加载到 python。为此,您可以使用以下内容:

import json

with open('raw_data.json') as json_file:
    raw_data = json.load(json_file)

在我的示例中,我只是通过在脚本中复制粘贴原始数据来使用您的几行输入,但您应该导入文件。所以我们开始吧!

import xlwt

raw_data = [{'Date': '12 12 2019',
              'Education': ['BSC'],
              'Email': None,
              'Id': None,}]

然后,您需要创建一个列表来存储 json 文件中包含的所有信息。此列表的第一行将包含每一列的标题:

excel_data = [['Date','Education','Email','Id']]

然后,对于存储在 json 文件中的每个字典,您将获取信息并将其存储在先前创建的列表中。

for element in raw_data:
    date = element['Date']
    education = element['Education']
    email = element['Email']
    identification = element['Id']
    excel_data.append([date, education, email, identification])

最后,您使用 xlwt 和之前创建的列表构建 Excel 文件。

excel_file = xlwt.Workbook()
sheet = excel_file.add_sheet('Data')

for i, l in enumerate(excel_data):
    for j, col in enumerate(l):
        sheet.write(i, j, col)

excel_file.save('ExcelFile.csv')

我希望这能解决你的问题。如您所见,您的问题包含许多不同的问题,即:

1-如何将json文件导入python(将JSON数据导入python

2-如何从字典中恢复元素(通过索引访问 Python 字典的元素

3-如何将 Python 列表写入 Excel(写入 Excel 电子表格

下一次,试着把你的问题分解成小步骤,如果你不确定,快速谷歌如何完成每一个步骤。这将迅速让您提高您的编程技能并解决手头的问题。

节日快乐!


推荐阅读