如何从 excel 个工作表创建嵌套字典并将它们合并在一起

How to create nested dictionary from excel sheets and merge them together

提前感谢您的帮助。我是 python 的新手。我有以下 excel sheets:

sheet 1                        sheet 2
A    B    C   D  E             A   B
1    a    27  BG 10            1   url_1
2    b    10  UK 20            1   url_2
3    c    15  US 30            2   url_3
                               4   url_4

我想创建一个 json 格式的数据:

 {"A": 1,"B":"a","C": "27","D":"BG", "E":"10","webs": [{ "web" :"url_1" , "web" : "url_2" }]},
 {"A": 2,"B": "b","C": "10","D":"UK","E":"20", "webs": [{"web" :"url_3'}]},
 {"A: 3, "B": "c", "C": "15","D":"US", "E":"30", "webs: [{  "web : "url_4" }]}

我在使用以下代码将第二个 sheet 分组到第一个时遇到问题:

for row in range(1, sheet_1.nrows):
    row_values = sheet_1.row_values(row)
    b = {}
    a= row_values[0]
    b['A'] = row_values[0]
    b['B'] = row_values[1]
    b['C'] = row_values[2]
    b['D'] =  row_values[3]
    b['E'] =  row_values[4]

    for rows in range(1, sheet_2.nrows):
        row = sheet_2.row_values(rows)
        if row_values[0] == row[0]:

            b['webs'] = [{'web':row[1]}]

    print(b)

产生以下输出

{'A': 1.0, 'B': 'a', 'C': 27.0, 'D': 'BG', 'E': 10.0, 'webs': [{'web': 'url_2'}]}
{'A': 2.0, 'B': 'b', 'C': 10.0, 'D': 'UK', 'E': 20.0, 'webs': [{'web': 'url_3'}]}
{'A': 3.0, 'B': 'c', 'C': 15.0, 'D': 'US', 'E': 30.0, 'webs': [{'web': 'url_4'}]}

如有任何帮助,我们将不胜感激。

最佳,

b['webs']变量不断更新值而不是将其存储在列表中,最后存储第二个sheet的最后匹配行的值。

for row in range(1, sheet_1.nrows):
    row_values = sheet_1.row_values(row)
    b = {}
    b['A'] = row_values[0]
    b['B'] = row_values[1]
    b['C'] = row_values[2]
    b['D'] =  row_values[3]
    b['E'] =  row_values[4]
    temp = [] #Initialize empty list
    for rows in range(1, sheet_2.nrows):
        row = sheet_2.row_values(rows)
        if row_values[0] == row[0]:

            temp.append({'web':row[1]}) #append the item to the list
    b['webs'] = temp
    print(b)

这应该暂时有效。但如果您想使用 Python.

处理 excel 数据,请考虑探索 Python 的 Numpy 库