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中用Ctrl+C终止多线程程序的问题解决
Mar 30 Python
用Python实现web端用户登录和注册功能的教程
Apr 30 Python
Django rest framework基本介绍与代码示例
Jan 26 Python
纯python实现机器学习之kNN算法示例
Mar 01 Python
Python发送http请求解析返回json的实例
Mar 26 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
python3.6使用tkinter实现弹跳小球游戏
May 09 Python
解决Python3 抓取微信账单信息问题
Jul 19 Python
python关闭占用端口方式
Dec 17 Python
flask框架url与重定向操作实例详解
Jan 25 Python
基于SpringBoot构造器注入循环依赖及解决方式
Apr 26 Python
详解Python内置模块Collections
Mar 22 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
常用星际术语索引(新手指南)
2020/03/04 星际争霸
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
PHP Streams(流)详细介绍及使用
2015/05/12 PHP
PHP实现生成唯一会员卡号
2015/08/24 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
JavaScript RegExp 对象用法详解
2019/09/24 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
深入解析Python中的WSGI接口
2015/05/11 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
怎么使用pipenv管理你的python项目
2018/03/12 Python
python贪婪匹配以及多行匹配的实例讲解
2018/04/19 Python
解决Python plt.savefig 保存图片时一片空白的问题
2019/01/10 Python
使用Python和Scribus创建一个RGB立方体的方法
2019/07/17 Python
python随机数分布random均匀分布实例
2019/11/27 Python
使用CSS3的rem属性制作响应式页面布局的要点解析
2016/05/24 HTML / CSS
css sprite简单实例
2016/05/23 HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
2021/02/24 HTML / CSS
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
台湾全方位线上课程与职能学习平台:TibaMe
2019/12/04 全球购物
创先争优活动方案
2014/02/12 职场文书
上课迟到检讨书
2014/02/19 职场文书
中学生英语演讲稿
2014/04/26 职场文书
硕士生找工作求职信
2014/07/05 职场文书
党的群众路线调研报告
2014/11/03 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
Spring Boot 启动、停止、重启、状态脚本
2021/06/26 Java/Android