研究了一天 因为需要从数据库拿数据然后转换成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的更多相关文章

  1. Python3 将configparser从ini文件中读取的内容转换成字典格式

    因为写脚本的用到了,所以研究了下怎么将configparser从ini文件中读取的内容转换成字典格式. 整理一下,希望能对大家有帮助. 从http://stackoverflow.com/questi ...

  2. java将XML文档转换成json格式数据

    功能 将xml文档转换成json格式数据 说明 依赖包:1. jdom-2.0.2.jar : xml解析工具包;2. fastjson-1.1.36.jar : 阿里巴巴研发的高性能json工具包 ...

  3. <form> 标签 // HTML 表单 // from 表单转换成json 格式

    <form> 标签   // HTML 表单    // from 表单转换成json 格式 form 表单,对开发人员来说是在熟悉不过的了,它是页面与web服务器交互时的重要信息来源 表 ...

  4. 数据库记录转换成json格式 (2011-03-13 19:48:37) (转)

    http://blog.sina.com.cn/s/blog_621768f30100r6v7.html 数据库记录转换成json格式 (2011-03-13 19:48:37) 转载▼ 标签: 杂谈 ...

  5. 将DataSet(DataTable)转换成JSON格式(生成JS文件存储)

    public static string CreateJsonParameters(DataTable dt) { /**/ /**/ /**/ /* /*********************** ...

  6. C#将datatable的某一列转换成json格式的字符串

    将datatable的某一列转换成json格式的字符串(转换完后自己在字符串前后加{}) /// <summary> ///DataTable装换 Column数据 组合成json 现在的 ...

  7. 将DataTable转换成Json格式

    方法一: 将DataTable数据拼接成json字符串,方法如下: ///<summary> /// dataTable转换成Json格式 ///</summary> ///& ...

  8. 利用python将excel数据解析成json格式

    利用python将excel数据解析成json格式 转成json方便项目中用post请求推送数据自定义数据,也方便测试: import xlrdimport jsonimport requests d ...

  9. asp.net dataTable转换成Json格式

    /// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...

随机推荐

  1. php_MVC实现步骤一

    1.Match 基本实现 功能,比赛列表,球队信息 数据表初始化: 比赛列表: 球队一 比分 球队二 比赛时间 韩国 1:2 澳大利亚 15-01-31 17:00 从SQL思考,如何完成上面的查询: ...

  2. 1、快速搭建后台list

    @RestController @CrossOrigin public class UserController { @Resource private UserService userService ...

  3. PHP 获取星期

    <?php function getWeek($time = 0) { $week_array=array('日', '一', '二', '三', '四', '五', '六'); //先定义一个 ...

  4. 17 JQuery高级----学习笔记

    1. 动画(1) 三种方式显示和隐藏元素 <1> 默认显示和隐藏方式 1. show([speed,[easing],[fn]]) 1. 参数: 1. speed:动画的速度.三个预定义的 ...

  5. 08 Tomcat+Java Web项目的创建和War的生成

    1.web服务器软件:服务器:安装了服务器软件的计算机服务器软件:接收用户的请求,处理请求,做出响应 * web服务器软件:接收用户的请求,处理请求,做出响应. 在web服务器软件中,可以部署web项 ...

  6. 面试6 --- 当List<String> list =new ArrayList<String>(20); 他会扩容多少次

    当List<String> list =new ArrayList<String>(20); 他会扩容多少次?A 0       B 1 C 2 D 3答案是A: 因为这个集合 ...

  7. 关于fastjson与jackson在反序列化bool型时的区别

    背景 在测试中,两个项目a,b的接口参数用到了Bool类型,当传参"0",项目a通过了,项目b报错了,排查了下,项目b的那个接口,在对传参反序列化时就出现了问题,最后发现两个项目使 ...

  8. 广度优先搜索(BFS)思路及算法分析

    1.算法用途: 是一种图像搜索演算法.用于遍历图中的节点,有些类似于树的深度优先遍历.这里唯一的问题是,与树不同,图形可能包含循环,因此我们可能会再次来到同一节点. 2.主要思想: 主要借助一个队列. ...

  9. 安装Ubuntu18.04系统

    一.安装Ubuntu系统 进入系统安装的第一个界面,开始系统的安装操作.每一步的操作,左下角都会提示操作方式!! 1.选择系统语言-English 2.键盘设置-English 3.选择操作Insta ...

  10. 重置文件reset

    body { margin:0; padding:0; font-family: Helvetica, STHeiti, Droid Sans Fallback; // font-family: '微 ...