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的循环体中使用else语句的方法
Mar 30 Python
python实现bucket排序算法实例分析
May 04 Python
Python检测字符串中是否包含某字符集合中的字符
May 21 Python
在Python的Django框架下使用django-tagging的教程
May 30 Python
python搭建微信公众平台
Feb 09 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
Django项目之Elasticsearch搜索引擎的实例
Aug 21 Python
Python socket模块方法实现详解
Nov 05 Python
Python 改变数组类型为uint8的实现
Apr 09 Python
Python控制台实现交互式环境执行
Jun 09 Python
Django DRF认证组件流程实现原理详解
Aug 17 Python
实例代码讲解Python 线程池
Aug 24 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
Protoss兵种介绍
2020/03/14 星际争霸
解析ajax事件的调用顺序
2013/06/17 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
js取消单选按钮选中并判断对象是否为空
2013/11/14 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
WebSocket的简单介绍及应用
2019/05/23 Javascript
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
vant 中van-list的用法说明
2020/11/11 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
python k-近邻算法实例分享
2014/06/11 Python
Python中list初始化方法示例
2016/09/18 Python
Numpy数组转置的两种实现方法
2018/04/17 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
python 获取utc时间转化为本地时间的方法
2018/12/31 Python
Python3.4解释器用法简单示例
2019/03/22 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
python 实现Flask中返回图片流给前端展示
2020/01/09 Python
PyCharm 解决找不到新打开项目的窗口问题
2021/01/15 Python
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
COSETTE官网:奢华,每天
2020/03/22 全球购物
abstract是什么意思
2012/02/12 面试题
Unix控制后台进程都有哪些进程
2016/09/22 面试题
小学教育毕业生自荐信
2013/11/18 职场文书
乡下人家教学反思
2014/02/01 职场文书
乡镇三项教育实施方案
2014/03/30 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
卫校毕业生自我鉴定
2014/09/28 职场文书
2014年小学教师工作总结
2014/11/10 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书