如何将嵌套列表转换为数据帧?

2024-09-27 21:24:13 发布

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

我有一个很长的单子,上面都是word doc中的项目符号。我需要把它变成一个数据表。在

输入列表示例:

= Fasteners

    o Screws

        - Machine

            +Round Head

            +Pan Head

            +Flat Head

       - Tapping

            +Type AB

            +Type A

示例输出表:感谢您的查找!!在

^{pr2}$

等等


Tags: 项目示例列表doctype符号machinehead
1条回答
网友
1楼 · 发布于 2024-09-27 21:24:13

假设您可以将项目符号转换为Python字典(如果是嵌套的,这可能是存储所有内容的最佳方法):

import pandas as pd

parts = {  
     'Fasteners':{  
        'Screws':{  
           'Machine':['Round Head','Pan Head','Flat Head'],
           'Tapping':['Type AB','Type A']
        }
     }
}

df_dict = {'Parent': [], 'Child': [], 'Type': [], 'Style': []}
for parent, v1 in parts.items():
    for child, v2 in v1.items():
        for child_type, v3 in v2.items():
            for style in v3:
                df_dict['Parent'].append(parent)
                df_dict['Child'].append(child)
                df_dict['Type'].append(child_type) # Not named type because type is a native Python function
                df_dict['Style'].append(style)

df = pd.DataFrame(df_dict)
print(df)

如果有一个字典,其中每个键都是列,每个值都是值的列表(按顺序排列),则Pandas在创建数据帧时效果最好。我在这里做的是循环遍历嵌套字典中的每个键和值,这样我就可以生成列表,在必要时重复(以一种容易理解的方式)。parts.items()为字典创建一个迭代器,它将在其中循环遍历每个键及其相应的值。输出如下:

^{pr2}$

相关问题 更多 >

    热门问题