flask框架下读取mysql数据 转换成json格式API
研究了一天 因为需要从数据库拿数据然后转换成json的格式 expose出去为 API
发现一条数据是容易,两条以上我居然搞了这么久 好歹出来了 先贴一下 后面更新
mysql的操作 比较容易了https://pynative.com/python-mysql-select-query-to-fetch-data/
flask也比较容易 很多参考的
提取mysql的字段名反而是最少看到的 -- 》https://www.jianshu.com/p/057a784febb9
fields = cur.description # 获取查询结果中列的字段名,如果查询SQL中使用别名,此处显示别名。
cur.close()
conn.close() # Main
column_list = [] # 定义字段名的列表
for i in fields:
column_list.append(i[0]) # 提取字段名,追加到列表中
#print column_list # 列表显示结果:['id', 'NAME', 'LOCAL', 'mobile', 'CreateTime']
select出来的list 和 这个字段名结合 组成一个dict
https://blog.csdn.net/weixin_41104835/article/details/89000096
for row in result:
# 定义Python 字典
data = {}
# 将row中的每个元素,追加到字典中。
for i in range(len(column_list)):
data[column_list[i]] = row[i]
# data[column_list[0]] = row[0]
# # Python字段格式 和json字段格式转换
# data[column_list[1]] = str(row[1])
# data[column_list[2]] = str(row[2])
# data[column_list[3]] = str(row[3])
---------------------
作者:野有蔓兮
来源:CSDN
原文:https://blog.csdn.net/weixin_41104835/article/details/89000096
版权声明:本文为博主原创文章,转载请附上博文链接!
参考了不少人家的代码
https://www.cnblogs.com/yufeihlf/p/6004124.html -- 但是这个header一个个的自己敲太麻烦
#将元组数据转换为列表类型,每个条数据元素为字典类型:[{'字段1':'字段1的值','字段2':'字段2的值',...,'字段N:字段N的值'},{第二条数据},...,{第N条数据}]
for row in data:
result = {}
result['nm'] = row[0]
result['dc'] = row[1]
result['iu'] = row[2]
result['it'] = str(row[3])
result['og'] = str(row[4])
result['mt'] = str(row[5])
result['pn'] = row[6]
result['du'] = row[7]
result['am'] = row[8]
result['mc'] = str(row[9])
result['vc'] = str(row[10])
result['vn'] = row[11]
result['sm'] = row[12]
result['se'] = str(row[13])
result['ao'] = str(row[14])
jsonData.append(result)
print u'转换为列表字典的原始数据:',jsonData
我的最终目的是 call http://127.0.0.1:5000/north/getSpace 的时候能够返回我的space的json 值
没有优化 不过能够完全实现我的要求了。。一天研究出来算不错了 水平有限
#!flask/bin/python
# coding=utf-8
from flask import Flask, jsonify
import json
import mysql.connector
from mysql.connector import Error app = Flask(__name__) try:
connection = mysql.connector.connect(host='127.0.0.1',database='bms_1',user='root',password='Pxxxx')
if connection.is_connected():
SQL = "select id,guid,tag,path,name,node_type,space_type,parent_guid,time from space;"
cursor = connection.cursor()
cursor.execute(SQL)
result_list = cursor.fetchall() #return sql result
print("fetch result-->",type(result_list)) #is s list type, need to be a dict fields_list = cursor.description # sql key name
print("fields result -->",type(fields_list))
#print("header--->",fields)
cursor.close()
connection.close() # main part
column_list = []
for i in fields_list:
column_list.append(i[0])
print("print final colume_list",column_list) # print("colume list -->", column_list) jsonData_list = []
for row in result_list:
data_dict = {}
for i in range(len(column_list)):
data_dict[column_list[i]] = row[i]
#把data_dict 加入返回的jsonData_list列表中
jsonData_list.append(data_dict)
#print u'转换为列表字典的原始数据:', jsonData_list @app.route('/north/getSpace', methods=['GET'])
def get_space():
return jsonify({'space': jsonData_list}) if __name__ == '__main__':
app.run(debug=True) except Error as e:
print("Error while connection to Mysql", e)
finally:
connection.close()
print "==== mysql closed==="

flask框架下读取mysql数据 转换成json格式API的更多相关文章
- Python3 将configparser从ini文件中读取的内容转换成字典格式
因为写脚本的用到了,所以研究了下怎么将configparser从ini文件中读取的内容转换成字典格式. 整理一下,希望能对大家有帮助. 从http://stackoverflow.com/questi ...
- java将XML文档转换成json格式数据
功能 将xml文档转换成json格式数据 说明 依赖包:1. jdom-2.0.2.jar : xml解析工具包;2. fastjson-1.1.36.jar : 阿里巴巴研发的高性能json工具包 ...
- <form> 标签 // HTML 表单 // from 表单转换成json 格式
<form> 标签 // HTML 表单 // from 表单转换成json 格式 form 表单,对开发人员来说是在熟悉不过的了,它是页面与web服务器交互时的重要信息来源 表 ...
- 数据库记录转换成json格式 (2011-03-13 19:48:37) (转)
http://blog.sina.com.cn/s/blog_621768f30100r6v7.html 数据库记录转换成json格式 (2011-03-13 19:48:37) 转载▼ 标签: 杂谈 ...
- 将DataSet(DataTable)转换成JSON格式(生成JS文件存储)
public static string CreateJsonParameters(DataTable dt) { /**/ /**/ /**/ /* /*********************** ...
- C#将datatable的某一列转换成json格式的字符串
将datatable的某一列转换成json格式的字符串(转换完后自己在字符串前后加{}) /// <summary> ///DataTable装换 Column数据 组合成json 现在的 ...
- 将DataTable转换成Json格式
方法一: 将DataTable数据拼接成json字符串,方法如下: ///<summary> /// dataTable转换成Json格式 ///</summary> ///& ...
- 利用python将excel数据解析成json格式
利用python将excel数据解析成json格式 转成json方便项目中用post请求推送数据自定义数据,也方便测试: import xlrdimport jsonimport requests d ...
- asp.net dataTable转换成Json格式
/// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...
随机推荐
- TCP协议的11种状态及其变化过程?传输的内容又是什么?
在TCP的11种状态变迁中,我们需要用到TCP头部的三个标志位: 1.SYN,SYN=1表示这是一个连接请求报文或者连接接受报文 2.ACK,ACK=1,表示确认号生效 3.FIN,FIN=1表示发送 ...
- [转帖]Redis性能解析--Redis为什么那么快?
Redis性能解析--Redis为什么那么快? https://www.cnblogs.com/xlecho/p/11832118.html echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加e ...
- 在iis中部署网站出现的错误
第一次错误: 解决的方案:点击网站新建一个同名的应用池,选择网站的基本设置,选中同名的应用池 接下来可能会有第二个错误 错误摘要HTTP 错误 500.21 - Internal Server Err ...
- TextField 、 FTE、 TLF 的使用情景和简单说明
作者:tiangej 来源:CSDN 原文:https://blog.csdn.net/tiangej/article/details/16859239 版权声明:本文为博主原创文章,转载请附上博文链 ...
- [洛谷P5304][GXOI/GZOI2019]旅行者
题目大意: 有一张 \(n(n\leqslant10^5)\) 个点 \(m(m\leqslant5\times10^5)\) 条边的有向有正权图,有$k(2\leqslant k\leqslant ...
- ubuntu 18.04安装RTX 2060 显卡驱动
第一:安装ppa的显卡驱动源 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update 第二:检查显卡和推荐驱动 ubuntu- ...
- React 了解学习
1.nodejs安装程序https://nodejs.org/en/download/ create-react-app 类似 vs2017开发工具,集成了webpack 打包发布,loader和默认 ...
- Dubbo的10种集群容错模式
学习Dubbo源码的过程中,首先看到的是dubbo的集群容错模式,以下简单介绍10种集群容错模式 1.AvailableCluster 顾名思义,就是可用性优先,遍历所有的invokers,选择可用的 ...
- 1+x学习日志——js获取随机颜色的几种实现方式
因为学习时间比较紧,所以也没多少时间发博客了.后续会慢慢补齐的,下面是代码 /// function randomColor(){ var r = parseInt(Math.random() * 2 ...
- Django:ORM介绍
1.ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...