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使用socket连接远程服务器的方法
Apr 29 Python
在Python的Flask框架中构建Web表单的教程
Jun 04 Python
Django 添加静态文件的两种实现方法(必看篇)
Jul 14 Python
python中is与双等于号“==”的区别示例详解
Nov 21 Python
Python简单实现两个任意字符串乘积的方法示例
Apr 12 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
Sep 17 Python
pygame实现俄罗斯方块游戏(基础篇2)
Oct 29 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
python解释器pycharm安装及环境变量配置教程图文详解
Feb 26 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
Jun 12 Python
python实战之用emoji表情生成文字
May 08 Python
如何利用Matlab制作一款真正的拼图小游戏
May 11 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
封装一个PDO数据库操作类代码
2009/09/09 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
类似天猫商品详情随浏览器移动的示例代码
2014/02/27 Javascript
我的NodeJs学习小结(一)
2014/07/06 NodeJs
freemarker判断对象是否为空的方法
2015/08/13 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
基于javascript实现图片滑动效果
2016/05/07 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
Vue.js实现价格计算器功能
2020/03/30 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
js实现移动端轮播图
2020/12/21 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
Python中实现的RC4算法
2015/02/14 Python
Python第三方库的安装方法总结
2016/06/06 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
python爬取本站电子书信息并入库的实现代码
2020/01/20 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
Python编写万花尺图案实例
2021/01/03 Python
芬兰设计商店美国:Finnish Design Shop US
2019/03/25 全球购物
意大利时尚奢侈品店:D’Aniello Boutique
2021/01/19 全球购物
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
如何查找网页漏洞
2016/06/22 面试题
班队活动设计方案
2014/01/30 职场文书
篝火晚会策划方案
2014/05/16 职场文书
法制宣传口号
2014/06/16 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
mysql 带多个条件的查询方式
2021/06/05 MySQL