You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Pandas将SQL查询结果转为Chart.js兼容JSON格式求助

把Pandas查询结果转成Chart.js可用的JSON格式

嘿,作为Python和Pandas新手,能想到用pandasql来处理查询已经很棒啦!要把你的查询结果转成Chart.js需要的标签+值格式其实很简单,Pandas和Python的json模块就能搞定,我给你一步步拆解:

完整修改后的代码

首先,把你的现有代码和转换逻辑整合起来,直接用下面的代码就行:

import pandasql as pdsql
import json

# 你的SQL查询(建议把变量名从str改成query,避免和内置函数重名)
query = """select DISTINCT File_type,count(File_type) as files from final_df where Search_String='amy' group by File_type """
result = pdsql.sqldf(query, locals())

# 组装成Chart.js需要的结构:标签数组 + 数值数组
chart_data = {
    "labels": result["File_type"].tolist(),  # 提取文件类型作为标签
    "data": result["files"].tolist()         # 提取对应的计数作为数值
}

# 转成JSON字符串(直接给Chart.js用)
json_output = json.dumps(chart_data)

# 可以打印看看结果,确认格式是否正确
print(json_output)

关键步骤解释

  • tolist()方法:把Pandas DataFrame的列转换成普通的Python列表,这正是Chart.js需要的数组格式。
  • 组装字典:用labels和data作为键(这两个键名是Chart.js常用的,你也可以根据自己的配置调整),对应的值就是刚才得到的列表。
  • json.dumps():把Python字典转换成JSON字符串,这样你可以直接把这个字符串传给前端的Chart.js,或者保存成JSON文件使用。

举个例子,如果你的查询结果是:

File_typefiles
PDF5
DOCX3
TXT2

转换成的JSON会是这样:

{"labels": ["PDF", "DOCX", "TXT"], "data": [5, 3, 2]}

这个格式完全符合Chart.js的数据源要求~

内容的提问来源于stack exchange,提问作者Lasit Pant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:00:55