寻求可分析REST返回JSON数据属性计数的工具或方案
需求:对REST接口返回的数组数据按属性统计计数
我通过REST接口获取到了包含大量记录的数组数据,想要找到一款能按属性统计计数的工具,功能类似Excel的数据透视表或者SQL的计数查询;如果没有合适的工具,也打算借此学习Python来实现这个需求。
接口返回数据示例
{ "instances": [ { "attributes": { "AccountID": 1234, "Company": "Acme Corp.", ... } } ] }
期望的统计结果
| Company | Count |
|---|---|
| Acme Corp. | 21 |
| BFG, Inc. | 9 |
工具推荐
- Excel:直接把JSON数据导入Excel(路径:数据>获取外部数据>从JSON),插入数据透视表,选择
Company作为行标签,对记录计数即可,操作简单,适合不熟悉代码的场景。 - Tableau Public:支持导入JSON数据源,拖拽字段就能快速生成统计视图,可视化效果好,适合需要直观展示结果的情况。
- jq(命令行工具):习惯用命令行的话,jq可以直接处理JSON数据,一行命令完成按
Company统计计数:jq '[.instances[] | .attributes.Company] | group_by(.) | map({Company: .[0], Count: length})' your_data.json
Python实现方案
如果想通过学习Python来实现,用pandas库最便捷,步骤如下:
- 安装pandas:
pip install pandas - 编写代码:
import pandas as pd import json # 读取JSON数据(可替换为直接处理REST接口返回的响应数据) with open('your_data.json', 'r') as f: data = json.load(f) # 提取attributes字段,转换为DataFrame df = pd.DataFrame([item['attributes'] for item in data['instances']]) # 按Company分组统计数量 result = df.groupby('Company').size().reset_index(name='Count') # 输出结果 print(result) # 导出为CSV文件(可选) result.to_csv('company_count.csv', index=False)
这段代码将JSON数据转换为DataFrame,通过groupby和size方法实现类似SQL分组计数的效果,还能轻松导出结果文件。
内容的提问来源于stack exchange,提问作者DavidXYZ
相关产品推荐
相关产品推荐

