研究了一天 因为需要从数据库拿数据然后转换成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. ansible的基础使用(一)

    ansible基础使用(一) ansible的主要功能 A:为什么是ansible B:ansible的安装 C:ansible的相关文件 D:ansible的基本使用 ansible的简单操作 A: ...

  2. python 可变数据类型和不可变数据类型(7)

    python数据类型分别有整数int / 浮点数float / 布尔值bool / 元组tuple / 列表list / 字典dict,其中数据类型分为两个大类,一种是可变数据类型:一种是不可变数据类 ...

  3. c++ std::cout重定向到文件

    cout默认是与监视器(屏幕)相连,cout出来的内容会输出到屏幕上,通常是会在命令行窗口之中.但有时,我们希望将cout出来的具体日志.错误信息写到某个文件之中,而屏幕上仅仅显示出当前进行的任务,以 ...

  4. 使用SnowFlake算法生成唯一ID

    转自:https://segmentfault.com/a/1190000007769660 考虑过的方法有 直接用时间戳,或者以此衍生的一系列方法 Mysql自带的uuid 以上两种方法都可以查到就 ...

  5. Ubuntu 中linux 编译错误的(-)

    1.错误 compress.c:14:58: fatal error: zlib.h: No such file or directorycompilation terminated. 解决:sudo ...

  6. Codeblocks中文乱码解决方法。

    如需安装包请后台留言!! Codeblocks中文乱码解决方法: 特别提示:出现中文乱码情况才执行以下操作,未出现请勿随意修改!!!! 打开Codeblocks -> 设置 -> 编辑器: ...

  7. 服务端技术选型与考虑(go)

  8. [jsp学习笔记] jsp过滤器

  9. windows下安装hexo和生成博客

    首先在电脑上安装node和git,这个只要在相关官网的下载然后一步安装即可. 然后在你的电脑上新建一个文件夹,用来存放你的博客文件,比如创建hexo 进入该文件,右键打开git bash 安装hexo ...

  10. fastjson反序列化漏洞研究(下)

    之前的文章显示字符太多 拒绝显示  只好分为两篇了 这样我们只需要找到可以利用的类,构造poc链就好了,这个和以前的java反序列化漏洞类似,先不说.网上最早的poc是使用com.sun.org.ap ...