如果字典的值是元组的元组,如何将 python 字典保存到数据框中

How do I save python dictionary into a dataframe if the value of dictionary is tuple of tuples

字典结构如下:

{ key1 : ((( ' value1', 'value2'),'value3'),'value4')}.

我希望 value1 位于第一行 (dataframe) 中,value2 位于第二行 (dataframe) 中,所有值都类似。 对于这个例子,我需要在数据框中创建 4 行。

这是一种方法:

输入字典:

{'key1': (((' value1', 'value2'), 'value3'), 'value4')}

代码:

def flatten(seq):
    l = []
    for elt in seq:
        t = type(elt)
        if t is tuple or t is list:
            for elt2 in flatten(elt):
                l.append(elt2)
        else:
            l.append(elt)
    return l
df['val'] = flatten(t)
print(df)

打印:

       val
0   value1
1   value2
2   value3
3   value4
import pandas as pd

dict_1 = {'key1': ((('value1', 'value2'),'value3'),'value4')}

def nested_value_flatter(input_data, rest_value=[]):
    if type(input_data[0]) == tuple:
        rest_value.append(input_data[-1])
        return nested_value_flatter(input_data[0], rest_value)
    else:
        rest_value.append(input_data[-1])
        rest_value.append(input_data[0])
        return rest_value[::-1]

new_dict = dict()
for k, v in dict_1.items():
    new_dict[k] = nested_value_flatter(v)
new_df = pd.DataFrame(new_dict)

new_df 的打印如下。

     key1
0  value1
1  value2
2  value3
3  value4