将动态嵌套的JSON转换为CSV可以通过以下步骤实现:
以下是一个示例的Python代码,用于将动态嵌套的JSON转换为CSV:
import json
import csv
def json_to_csv(json_data, csv_file):
# 解析JSON数据
data = json.loads(json_data)
# 递归遍历JSON数据
def traverse(data, prefix=''):
if isinstance(data, dict):
for key, value in data.items():
new_prefix = prefix + key + '.'
traverse(value, new_prefix)
elif isinstance(data, list):
for item in data:
traverse(item, prefix)
else:
# 构建CSV行数据
csv_writer.writerow([prefix[:-1], data])
# 构建CSV表头
csv_writer = csv.writer(csv_file)
csv_writer.writerow(['Key', 'Value'])
# 构建CSV行数据
traverse(data)
# 写入CSV文件
csv_file.close()
# 示例用法
json_data = '{"name": "John", "age": 30, "address": {"city": "New York", "country": "USA"}}'
csv_file = open('output.csv', 'w', newline='')
json_to_csv(json_data, csv_file)
在上述示例代码中,我们首先使用json.loads()
函数将JSON数据解析为Python对象。然后,使用递归函数traverse()
遍历JSON数据的每个键值对,并根据键名构建CSV文件的表头,根据值构建CSV文件的行数据。最后,使用csv.writer()
将构建好的CSV数据写入CSV文件。
请注意,这只是一个简单的示例代码,实际应用中可能需要根据具体需求进行适当的修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云