将带有Python子列表数组的CSV转换为JSON是一个常见的数据处理任务。以下是这个过程的基础概念、优势、类型、应用场景以及如何解决这个问题的详细步骤。
以下是一个示例代码,展示如何将带有子列表数组的CSV转换为JSON:
import csv
import json
def csv_to_json(csv_file_path, json_file_path):
data = []
with open(csv_file_path, mode='r', encoding='utf-8') as csv_file:
csv_reader = csv.reader(csv_file)
headers = next(csv_reader) # 读取标题行
for row in csv_reader:
row_data = {}
for i, header in enumerate(headers):
if isinstance(row[i], str) and ',' in row[i]:
row_data[header] = [item.strip() for item in row[i].split(',')]
else:
row_data[header] = row[i]
data.append(row_data)
with open(json_file_path, mode='w', encoding='utf-8') as json_file:
json.dump(data, json_file, indent=4)
# 示例调用
csv_to_json('input.csv', 'output.json')
csv.reader
读取CSV文件,跳过标题行。json.dump
将处理后的数据写入JSON文件。解决方法: 在读取CSV文件时,检查每个字段是否包含逗号,并将其拆分为子列表。
解决方法: 确保使用json.dump
时设置了适当的缩进,以便生成的JSON文件易于阅读。
通过上述步骤和代码示例,你可以有效地将带有子列表数组的CSV文件转换为JSON格式。
领取专属 10元无门槛券
手把手带您无忧上云