如何无需逐行迭代将Pandas DataFrame转换为指定格式JSON
Pandas DataFrame 转指定格式JSON(无逐行迭代方案)
直接用Pandas的矢量化列操作+JSON序列化就能搞定,不用逐行循环,步骤如下:
1. 构造示例DataFrame
import pandas as pd import json df = pd.DataFrame({ 'attendeeCount': [3,1,0], 'attendees': ['x@xx.com,y@yy.com,z@zz.com','k@kk.com',''], 'partyName': ['party1','party2', 'party3'], 'partyDate': ['2024-01-15', '2024-02-10', ''] })
2. 批量处理列数据
- 处理
attendees列:把逗号分隔的字符串拆成列表,空字符串转成空列表 - 处理
partyDate列:把空字符串替换为None(对应JSON里的null)
# 拆分attendees为列表,空字符串转空列表 df['attendees'] = df['attendees'].str.split(',').apply(lambda lst: lst if lst != [''] else []) # 替换空日期为None df['partyDate'] = df['partyDate'].replace('', None)
3. 生成目标格式JSON
把处理后的DataFrame转成字典列表,再包裹到parties键下,最后格式化输出:
result = {'parties': df.to_dict('records')} # 格式化输出JSON,缩进2格 print(json.dumps(result, indent=2))
运行后就能得到你需要的JSON结构,全程无需逐行迭代处理每一行数据。
内容的提问来源于stack exchange,提问作者APS
相关产品推荐
相关产品推荐

