python-3.x - 如何使用 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}]
解决方案
要完成您的任务,您必须将 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 电子表格)
下一次,试着把你的问题分解成小步骤,如果你不确定,快速谷歌如何完成每一个步骤。这将迅速让您提高您的编程技能并解决手头的问题。
节日快乐!
推荐阅读
- oracle - 如何将 pl/sql 查询更改为 2“WHERE”子句
- elasticsearch - 有没有办法像其他编程语言一样用脚本迭代弹性数组文档
- r - 使用 Rvest 提取特定父节点的所有子节点的文本作为数据框中的变量
- json - 使用 jq 处理可选数组
- java - 需要操作返回的 JSON 对象并将一部分提取到列表中
- python - 向下滚动帖子 Instagram 主页 selenium 和 python
- karate - 我可以将列表从一个端点传递到另一个端点并在同一个文件中循环吗
- node.js - 如何根据文档数量限制删除集合中的文档?
- ios - 如何根据名称动态查找和调用 Swift 函数?
- javascript - 日期更改nodejs时未创建日志文件