Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)


Posted in Python onJune 27, 2017

最近在弄一个项目分析的时候,看到有一个后缀为”.sqlite”的数据文件,由于以前没怎么接触过,就想着怎么用python来打开并进行数据分析与处理,于是稍微研究了一下。

SQLite是一款非常流行的关系型数据库,由于它非常轻盈,因此被大量应用程序采用。

像csv文件一样,SQLite可以将数据存储于单个数据文件,以便方便的分享给其他人员。许多编程语言都支持SQLite数据的处理,python语言也不例外。

sqlite3是python的一个标准库,可以用于处理SQLite数据库。

用sqlite3创建和操作数据库文件

对于数据库的SQL语句,本文会用到最基础的SQL语句,应该不影响阅读。如果想进一步了解,可参考如下网址:
http://www.w3school.com.cn/sql/index.asp

下面,我们来应用salite3模块来创建SQLite数据文件,以及进行数据读写操作。

主要的步骤如下:

与数据库建立连接,创建数据库文件(.sqlite文件)

创建游标(cursor)

创建数据表(table)

向数据表中插入数据

查询数据

演示代码如下:

import sqlite3

with sqlite3.connect('test_database.sqlite') as con:
 c = con.cursor()
 c.execute('''CREATE TABLE test_table
 (date text, city text, value real)''')
 for table in c.execute("SELECT name FROM sqlite_master WHERE type='table'"):
  print("Table", table[0])
 c.execute('''INSERT INTO test_table VALUES
 ('2017-6-25', 'bj', 100)''')
 c.execute('''INSERT INTO test_table VALUES
 ('2017-6-25', 'pydataroad', 150)''')
 c.execute("SELECT * FROM test_table")
 print(c.fetchall())
Table test_table
[('2017-6-25', 'bj', 100.0), ('2017-6-25', 'pydataroad', 150.0)]

关于SQLite数据库中数据的可视化预览,有很多的工具可以实现,我这里使用的是SQLite Studio,是一个免费使用的工具,不需要安装,下载下来就可以使用,有兴趣的同学可以参考下面的链接。

https://sqlitestudio.pl/index.rvt?act=download

数据预览的效果如下:

Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)

Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)

用pandas来读取sqlite数据文件

从上面代码的运行结果可以看出,数据查询的结果是一个由tuple组成的list。python的list数据在进行进一步的数据处理与分析时,可能会不太方便。可以想象一下,假设如果数据库的表格中一共有100万行或者更多数据,从list中循环遍历获取数据,效率会比较低。

这时,我们可以考虑用pandas提供的函数来从SQLite数据库文件中读取相关数据信息,并保存在DataFrame中,方便后续进一步处理。

Pandas提供了两个函数,均可以读取后缀为“.sqlite”数据文件的信息。

read_sql()

read_sql_query()

import pandas as pd

with sqlite3.connect('test_database.sqlite') as con:

 # read_sql_query和read_sql都能通过SQL语句从数据库文件中获取数据信息
 df = pd.read_sql_query("SELECT * FROM test_table", con=con)
 # df = pd.read_sql("SELECT * FROM test_table", con=con)

 print(df.shape)
 print(df.dtypes)
 print(df.head())

(2, 3)
date      object
city      object
value    float64
dtype: object
        date        city  value
0  2017-6-25          bj  100.0
1  2017-6-25  pydataroad  150.0

以上这篇Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python元组操作实例解析
Sep 23 Python
Python import用法以及与from...import的区别
May 28 Python
python使用xmlrpclib模块实现对百度google的ping功能
Jun 02 Python
Python Property属性的2种用法
Jun 21 Python
利用python代码写的12306订票代码
Dec 20 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
python求加权平均值的实例(附纯python写法)
Aug 22 Python
Python调用graphviz绘制结构化图形网络示例
Nov 22 Python
python双向链表原理与实现方法详解
Dec 03 Python
flask利用flask-wtf验证上传的文件的方法
Jan 17 Python
Python爬虫如何破解JS加密的Cookie
Nov 19 Python
python turtle绘制多边形和跳跃和改变速度特效
Mar 16 Python
最近Python有点火? 给你7个学习它的理由!
Jun 26 #Python
Python的装饰器使用详解
Jun 26 #Python
Python学习思维导图(必看篇)
Jun 26 #Python
python flask 多对多表查询功能
Jun 25 #Python
Python的语言类型(详解)
Jun 24 #Python
Python队列的定义与使用方法示例
Jun 24 #Python
Python实现字符串逆序输出功能示例
Jun 24 #Python
You might like
php文档更新介绍
2011/07/22 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
用jquery实现下拉菜单效果的代码
2010/07/25 Javascript
JavaScript中按位“异或”运算符使用介绍
2014/03/14 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
2017/01/19 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
jQuery实现增删改查
2020/12/22 jQuery
python基础教程之python消息摘要算法使用示例
2014/02/10 Python
python实现复制整个目录的方法
2015/05/12 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
python 列表、字典和集合的添加和删除操作
2019/12/16 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
2020/10/12 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
CSS3旋转——彩色扇子兼容firefox浏览器
2013/06/04 HTML / CSS
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
优秀教师主要事迹
2014/02/01 职场文书
学生干部学习的自我评价
2014/02/18 职场文书
关于建议书的格式范文
2014/05/20 职场文书
广播体操比赛口号
2014/06/10 职场文书
超市创意活动方案
2014/08/15 职场文书
党支部群众路线整改措施思想汇报
2014/10/10 职场文书
《我和小伙伴》教学反思
2016/02/20 职场文书