如何在CSV文件中显示嵌套字典

2024-06-25 23:43:06 发布

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

我有一个动态字段,我需要CSV文件在它的列中显示字段,你可以在这张图中看到,动态字段显示文本{}括号,并在一行中显示所有文本,enter image description here我需要在每个列中分离,我不关心每个动态字段的父标题是否重复(例如JOB_INSIGHTS)。我希望每个嵌套的dict元素都有自己的列。提前谢谢

更新: 输出包含以下代码: 例如:

my_list_didct= [{
    "main_rating": "7",
    "job_salary": "$51K",
    "job_insights": {
        "Job Type : ": "Full-time",
        "Job Function : ": "Software Developer",
    "aditional_salaries":{"dev_ops":"$44k",
                          "sysadmin":"$30k"}
    }]


    try:
        ruta_guardado = os.path.join(out_path_file,
                                     'file_{today.strftime('%d-%m-%Y')}_{readfrom_text_file('dat')}.csv")
        with open(
                ruta_guardado, mode, newline='', encoding='utf-8') as file:
            csv.register_dialect('myDialect',
                                 delimiter=';',
                                 quoting=csv.QUOTE_ALL)
            print(items)
            headers = list(items[0].keys())
            csv_writer = csv.DictWriter(file, fieldnames=headers, dialect="myDialect")
            csv_writer.writeheader()
            my_logger.info(items)
            csv_writer.writerows(items)

在这个例子中,通常不会找到最上面的传统工资,有时会返回空的dict,在这种情况下,我希望excel字段为空。或者,如果存在像其他字段一样分散的话,那么这些字段是str,而不是dict.:谢谢编码人员

我正在寻找的那种输出。 enter image description here


Tags: csvpath文本myjob动态itemsdict
1条回答
网友
1楼 · 发布于 2024-06-25 23:43:06

首先,如果不将dict保存为.csv文件,就无法将其转换为数据帧。因此,您需要将其转换为数据帧,然后将其保存到您想要保存的任何文件中

此外,如果您没有文件,只需写下文件的名称和格式,它就会立即保存该文件

代码语法

import pandas as pd

my_list_didct= [{
    "main_rating": "7",
    "job_salary": "$51K",
    "job_insights": {
        "Job Type : ": "Full-time",
        "Job Function : ": "Software Developer",
    "aditional_salaries":{"dev_ops":"$44k",
                          "sysadmin":"$30k"}
    }}]

df = pd.DataFrame(my_list_didct)
df.to_csv('file.csv', index=False)

输出enter image description here

相关问题 更多 >