

Python从网站上抓取的数据为了可以重复利用,一般都会存储下来,存储方式最简单的会选择存储到文本文件,常见的有方式TXT、CSV、EXCEL等,还有一种方式是将数据存储到数据库,这样也方便管理,常见的关系型数据库有SQLite3、MySQL,非关系型数据库有Redis、MongoDB。那么,这里就简单说明怎么样将数据存储到SQLite3。

(Json格式化工具)
简单的数据库直接使用SQLite3比较方便,而且Python自带SQLite3模块直接导入即可,前面文章《基于Python的SQLite基础知识学习》已经介绍了SQLite3的使用。
进入主题,取Json文件里的数据,因为是文件流,就需要用到json库里的load方法,把Json对象转化为Python对象,逐行导入sql语句。
sql ="insert into student(id,name,age) values(%d,'%s',%d)"% (line['id'],line['name'],line['age'])
具体步骤
1、逐行读取当前路径下的json文件
with open("data.json",’r’) as f:
data = json.load(f)

2、对数据进行解析
3、数据入库
# -*- conding:utf-8 -*-
#导入sqlite3库文件
import sqlite3
import json
#数据库存在时,直接连接;不存在时,创建相应数据库,此时当前目录下可以找到对应的数据库文件。
conn = sqlite3.connect("customers.db")
print ('Opened database successfully')
#创建CNAME表
conn.execute('''CREATE TABLE CNAME
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL);''')
print ('Table created successfully')

#向表中插入记录
with open("data.json",’r’) as f:
data = json.load(f)
for line in data[‘data’]:
#注意sql语句中使用了格式化输出的占位符%s和%d来表示将要插入的变量,其中%s需要加引号''
sql = "insert into cname(name,id,age) values('%s',%d,%d)" % (line['name'],line['id'],line['age'])
conn.execute(sql)
conn.commit()
#关闭数据库连接
conn.close()
4、查询和确认数据
可以通过sql语句查询和确认数据入库情况。
conn = sqlite3.connect("customers.db")
cursor = conn.execute("select id,name,age from cname")
for row in cursor:
print ('ID = ', row[0],' NAME = ',row[1],' AGE = ', row[2])
print ('Operation done successfully')
conn.close()


Windows环境下基于Anaconda的Python3安装
使用Python爬取《悲伤逆流成河》猫眼信息
(端午节福利)各大影视VIP解析视频观看方法
让我们来聊一聊微信(基于Python分析)
推荐一个好用的PDF阅读器—悦书阅读器
基于Python的SQLite基础知识学习
使用Python将图片变成铅笔素描



