龙空技术网

Python 高效保存json/字典数据方法之一

南风笔记 870

前言:

现在我们对“python不能保存”大体比较关心,各位老铁们都想要剖析一些“python不能保存”的相关资讯。那么小编也在网摘上网罗了一些对于“python不能保存””的相关内容,希望兄弟们能喜欢,姐妹们一起来了解一下吧!

各位亲们平时经常把爬取或收集到的数据存放在哪里呢?TXT文档?EXCEL表格?JSON?,这些可能都有,我也都试过,但是存在数据库中无疑是最快捷高效地写入或读取的方式了。

python支持多种数据库,常用免费开源的有:MySQL,PostgreSQL、sqlite等等,我当然是选择嵌入式数据库,适合桌面和移动应用的Sqlite3。它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成。sqlite的好处就不再介绍了,下面切入正题,看看如何实现数据保存到数据库中。

我经常在网络是收集股票的各种行情数据,这种数据经常是JSON格式的,跟python的字典非常像,我就以JSON为例,说说如何将JSON-字典数据保存到Sqlite中。

一、建好数据库的表

跟据你数据的结构,column名务必要跟数据的键名一样

二、输入代码

** 注意以下代码无法缩进,请参考图片。懂的朋友说说如何缩进,谢谢! **

import sqlite3

json={1:{'code': 'SZ000002',

'name': '万科A',

'open': 27.19,

'high': 27.22,

'low': 26.84,

'close': 26.93,

'pe': 10.6,

'pb': 2.18,

'date':'2018/05/17'},

2:{'code': 'SH600519',

'name': '贵州茅台',

'open': 735.12,

'high': 737.50,

'low': 24.00,

'close': 727.38,

'pe': 33.7,

'pb': 9.14,

'date':'2018/05/17'}

}

cx=sqlite3.connect(r'json2sql.db')

sql2="""INSERT INTO json (code,name,open,high,low,date,pe,pb)

VALUES (:code,:name,:open,:high,:low,:date,:pe,:pb)

"""

cu=cx.cursor()

for key in json:

cu.execute(sql2,json[key])

cu.close()

cx.commit()

cx.close()

上图,是不是很方便。其实还有一些办法可以完成上面任务,等我找个时间再写。

标签: #python不能保存