python:如何将dict列表转换为json文件?

2024-09-29 21:23:07 发布

您现在位置:Python中文网/ 问答频道 /正文

'''

import openpyxl
from openpyxl import load_workbook
from openpyxl import Workbook
from Tkinter import Tk
from tkFileDialog import askopenfilename
import itertools
import sys
import warnings
import json

def find (param):
    for row in ws.iter_rows():
        try:
            keyword = row[1].value
            values = [item.value for item in row[2:]]
            if keyword == ("%s" %(param) ):
                keyword = (values)
                return keyword
        except (AttributeError):
        continue

if not sys.warnoptions:
    warnings.simplefilter("ignore")

Tk().withdraw()
filename = askopenfilename()
print ("Working, please be patient")
wb = openpyxl.load_workbook(filename, data_only=True)


print ("\r")
count = 0
for ws in wb.worksheets:
    tlist = ws.title
    print ("%s : %s" %(count,tlist) )
    count = count + 1


x = int(input ("\nchoose number:  ") )
ws = wb.worksheets[x]


param = "Site Name"
SiteName = find(param)
SiteName = (SiteName)

param = ("NE Name(TID)")
TID = find(param)
TID = (TID)

param = ("Shelf Number")
SH_Num = find(param)
SH_Num = (SH_Num)

param = ("CLLI")
CLLI = find(param)
CLLI = (CLLI)

z = {'SiteName' : SiteName,"TID" : TID, "SH_Num" : SH_Num}

with open('data7.json', 'w') as f:
    json.dump(z,f,indent=4)
'''

这里面有更多的变数。每个站点都有站点名称、TID、货架编号等。。 希望通过站点分离变量;站点1的变量、站点2的变量等。。并通过TID1-SH_Num1[TID]访问变量

输出=

{
    "SiteName": [
        "Site1", 
        "Site2", 
        "Site3", 

    ], 
    "TID": [
        "TID1", 
        "TID2", 
        "TID3", 
    ], 
    "SH_Num": [
        "SH_Num1", 
        "SH_Num2", 
        "SH_Num3", 

    ]
}

我想要的是

{
    TID1-SH_Num1: [
        "SiteName" : "SiteName1"
        "TID": "TID1" 
        "SH_Num" : "SH_Num1"
        ], 
    TID2-SH_Num2: [
        "SiteName" : "SiteName2"
        "TID": "TID2" 
        "SH_Num" : "SH_Num2"
        ], 
    ], 
    TID3-SH_Num3: [
        "SiteName" : "SiteName3"
        "TID": "TID3" 
        "SH_Num" : "SH_Num3"
        ], 
}

等等

我有它的地方,个别网站的变量是在每个网站单独的文本文件,每个网站的变量都是正确的。现在我想要JSON格式,这样我就可以将所有站点和变量添加到tkinter选项卡中


Tags: fromimportwsparam站点countshfind
1条回答
网友
1楼 · 发布于 2024-09-29 21:23:07

如果你有这样的口述:

a = {
"TID1-SH_Num1": [
    "SiteName" : "SiteName1"
    "TID": "TID1" 
    "SH_Num" : "SH_Num1"
    ], 
"TID2-SH_Num2": [
    "SiteName" : "SiteName2"
    "TID": "TID2" 
    "SH_Num" : "SH_Num2"
    ], 
], 
"TID3-SH_Num3": [
    "SiteName" : "SiteName3"
    "TID": "TID3" 
    "SH_Num" : "SH_Num3"
    ], 
}

然后您可以将其转储到一个文件中:

import json
with open('data7.json', 'w') as f:
    json.dump(a,f,indent=4)

相关问题 更多 >

    热门问题