python:附加到数据使用json.dumps文件

2024-06-28 11:03:55 发布

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

我正在尝试创建JSON文件。使用json.dumps文件以及成功印刷。 我有个问题。在

我想要的格式是

channel_info = OrderedDict()
table = OrderedDict()
table2 = OrderedDict()

channel_info["KIND1"] = pkind[2].text
table[ptime[10].text] = pnk[11].text
table[ptime[11].text] = pnk[12].text
channel_info["TABLE1"] = table

channel_info["KIND2"] = pkind[2].text
table2[ptime[10].text] = pnk[11].text
table2[ptime[11].text] = pnk[12].text
channel_info["TABLE2"] = table2

结果:

^{pr2}$

}

如何使用while循环输出相同的格式? JSON对象的名称?KIND1,TABLE1,KIND2,TABLE2等等。。。 我想知道如何使用while循环动态更改这些名称。 谢谢您。在


Tags: 文件textinfojson格式tablechannelordereddict
2条回答

基本上,如果我理解你的问题:

...
i=0
no_of_tables = 4 
while i<=no_of_tables:
  table_counter = i+1
  table_counter = str(table_counter)
  kind = 'KIND' + table_counter
  table = 'TABLE' + table_counter
  channel_info[kind] = pkind[2].text
  table[ptime[10].text] = pnk[11].text
  table[ptime[11].text] = pnk[12].text
  channel_info[table] = table

注意:我知道它可以优化,但为了简单起见,我还是保留了它。在

您可以这样做(假设tabledictionary在每个循环上是静态的,就像您给出的示例中所示的那样):

channel_info = dict()
# n_tables is the number of iterations you need
for i in range(n_tables):
    table = dict()
    channel_info["KIND%s" % (i+1)] = pkind[1].text
    table[ptime[10].text] = pnk[11].text
    table[ptime[11].text] = pnk[12].text
    channel_info["TABLE%s" % (i+1)] = table

您不需要动态表名,因为您将其分配给字典键。在

相关问题 更多 >