下面是一个示例代码,它按照ID对CSV文件进行分组,并提取JSON列:
import csv
import json
from collections import defaultdict
# 读取CSV文件
filename = 'data.csv'
data = defaultdict(list)
with open(filename, 'r') as file:
reader = csv.DictReader(file)
for row in reader:
id = row['ID']
json_data = row['JSON']
data[id].append(json.loads(json_data))
# 输出分组结果
for id, json_list in data.items():
print(f"ID: {id}")
print("JSON数据:")
for json_data in json_list:
print(json.dumps(json_data, indent=4))
这段代码假设CSV文件的格式如下:
ID,JSON
1,{"name": "John", "age": 30}
1,{"name": "Jane", "age": 25}
2,{"name": "Bob", "age": 40}
2,{"name": "Alice", "age": 35}
代码首先使用csv.DictReader
读取CSV文件的内容,并将每行数据存储在一个字典中。然后,使用defaultdict(list)
创建一个字典,用于按ID分组存储JSON数据。
接下来,代码遍历CSV文件的每一行,根据ID将JSON数据添加到对应的分组中。
最后,代码输出每个分组的ID和对应的JSON数据。
请注意,这只是一个简单的示例代码,实际应用中可能需要根据具体需求进行适当的修改。