Python 使用xlrd写入多层JSON
我在获取JSON输出时遇到了一些问题。我试图做的是使用python解析Excel文件以创建JSON输出。这是一个大规模的项目,我正在做的时刻,将大大加快事情。我感谢您的任何意见:) 这是我想要的输出:Python 使用xlrd写入多层JSON,python,json,xlrd,Python,Json,Xlrd,我在获取JSON输出时遇到了一些问题。我试图做的是使用python解析Excel文件以创建JSON输出。这是一个大规模的项目,我正在做的时刻,将大大加快事情。我感谢您的任何意见:) 这是我想要的输出: "classes": [ { "name": "Defend Class 2", "cohort": 1, "root_folder"
"classes": [
{
"name": "Defend Class 2",
"cohort": 1,
"root_folder": "DF-L2-C1",
"template_prefix": "template.",
"vm_prefix":"student-",
"resource_pool":"S1-DC-LMS2CL-001",
"pods": 22,
"vds": "S1-DC-LMS2DVS-001",
"portgroup_base": "LAB-PS-DEF-",
"vlans": {
"required": 4,
"start": 1500,
"end": 1587,
"rcn_start": 1303
},
然而,这是我目前得到的:
"classes": [
{
"name": "Defend Class 2",
"cohort": 1,
"root_folder": "DF-L2-C1",
"template_prefix": "template.",
"vm_prefix": "student-",
"resource_pool": "S1-DC-LMS2CL-001",
"pods": 22,
"vds": "S1-DC-LMS2DVS-001",
"portgroup_base": "LAB-PS-DEF-"
},
我正在努力解决“VLAN”的识别部分。以下是我的代码:
import xlrd
from collections import OrderedDict
import simplejson as json
wb = xlrd.open_workbook('test.xlsx')
classes = wb.sheet_by_index(0)
vms_list = []
for rownum in range(1, classes.nrows):
vms = OrderedDict()
row_values = classes.row_values(rownum)
vms['name'] = row_values[0]
vms['cohort'] = int(row_values[1])
vms['root_folder'] = row_values[2]
vms['template_prefix'] = row_values[3]
vms['vm_prefix'] = row_values[4]
vms['resource_pool'] = row_values[5]
vms['pods'] = int(row_values[6])
vms['vds'] = row_values[7]
vms['portgroup_base'] = row_values[8]
vlan_list = []
for rownum in range(1, classes.nrows):
vlan = OrderedDict()
row_values = classes.row_values(rownum)
vlan['required'] = int(row_values[9])
vlan['start'] = int(row_values[10])
vlan['end'] = int(row_values[11])
vlan['rcn_start'] = int(row_values[12])
vlan_list.append(vlan)
vlan_list = {'vlans': vlan_list}
vms_list.append(vms)
vms_list = {'classes' : vms_list}
j = json.dumps(vms_list, indent=4)
with open('data.json', 'w') as f:
f.write(j)
有什么想法吗?
谢谢 你似乎对类型有些混淆<代码>vlan\u列表已转换为字典。然后就再也不用了。你似乎对类型有些混淆<代码>vlan\u列表已转换为字典。然后再也不用了。