如何用Pandas将CSV转JSON并添加指定头部信息?
解决方案
你可以通过以下步骤实现需求,全程不会修改原DataFrame,不影响后续使用:
将DataFrame转为records格式的字典列表
用Pandas的to_dict('records')方法,把DataFrame转换成符合你需要的records结构,这一步不会改变原DataFrame。合并头部字典与DataFrame数据
直接扩展headlines字典,新增track字段,值就是上面得到的records列表。写入JSON文件
用Python内置的json模块把合并后的字典写入文件。
完整代码示例:
import os import csv import json import pandas as pd # 读取CSV到DataFrame(你的原代码) csvFilePath = "Mypath" track = pd.read_csv(csvFilePath, header=0, skiprows=0, delimiter=";") # 头部字典(你的原字典) headlines={ "now": 1636008051.9, "messages": 6236, } # 1. 把DataFrame转为records格式的列表 track_records = track.to_dict('records') # 2. 合并数据到最终字典 final_data = headlines.copy() # 复制头部字典避免修改原数据 final_data['track'] = track_records # 3. 写入JSON文件 with open('output.json', 'w', encoding='utf-8') as f: json.dump(final_data, f, indent=4) # indent=4让JSON更美观,可选
说明
- 用
to_dict('records')比先转成JSON字符串再解析更高效,而且能直接得到Python列表,方便合并。 - 用
headlines.copy()是为了避免修改原有的headlines字典,如果你不需要保留原字典,也可以直接final_data = headlines后新增字段。 - 原
trackDataFrame完全不受影响,后续可以继续用于其他操作。
内容的提问来源于stack exchange,提问作者Swawa
相关产品推荐
相关产品推荐

