首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python如何遍历嵌套json中的所有键和值以放入csv文件

Python可以使用递归函数来遍历嵌套的JSON数据,并将键和值放入CSV文件中。下面是一个完整的示例代码:

代码语言:txt
复制
import csv

def flatten_json(json_data, parent_key='', flattened_data=None):
    if flattened_data is None:
        flattened_data = {}

    if isinstance(json_data, dict):
        for key, value in json_data.items():
            new_key = parent_key + '.' + key if parent_key else key
            flatten_json(value, new_key, flattened_data)
    elif isinstance(json_data, list):
        for i, item in enumerate(json_data):
            new_key = parent_key + '.' + str(i) if parent_key else str(i)
            flatten_json(item, new_key, flattened_data)
    else:
        flattened_data[parent_key] = json_data

    return flattened_data

def write_to_csv(data, filename):
    with open(filename, 'w', newline='') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow(data.keys())
        writer.writerow(data.values())

# 假设你已经有一个嵌套的JSON数据
nested_json = {
    "name": "John",
    "age": 30,
    "address": {
        "street": "123 Main St",
        "city": "New York",
        "state": "NY"
    },
    "hobbies": ["reading", "coding", "gaming"]
}

# 将嵌套的JSON数据扁平化
flattened_data = flatten_json(nested_json)

# 将扁平化后的数据写入CSV文件
write_to_csv(flattened_data, 'output.csv')

这段代码首先定义了一个flatten_json函数,它使用递归的方式遍历嵌套的JSON数据,并将键和值放入一个字典中。然后,定义了一个write_to_csv函数,它将字典中的键作为CSV文件的列名,将字典中的值作为CSV文件的一行数据写入。

在示例中,我们假设有一个嵌套的JSON数据nested_json,包含了姓名、年龄、地址和爱好等信息。我们首先调用flatten_json函数将嵌套的JSON数据扁平化,然后调用write_to_csv函数将扁平化后的数据写入名为output.csv的CSV文件中。

请注意,这只是一个示例代码,实际应用中可能需要根据具体的JSON数据结构进行适当的修改。另外,这里没有提及腾讯云的相关产品,因为在这个问题中没有明确要求提及特定的云计算品牌商。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券