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实现的数据结构与算法之链表详解
Apr 22 Python
python实现按行切分文本文件的方法
Apr 18 Python
python开发简易版在线音乐播放器
Mar 03 Python
Python实现复杂对象转JSON的方法示例
Jun 22 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
Feb 22 Python
Python实现通讯录功能
Feb 22 Python
Python中的函数式编程:不可变的数据结构
Oct 08 Python
Python删除n行后的其他行方法
Jan 28 Python
python解释器spython使用及原理解析
Aug 24 Python
Python函数式编程指南:对生成器全面讲解
Nov 19 Python
解决pyqt5异常退出无提示信息的问题
Apr 08 Python
Python3自定义json逐层解析器代码
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
PHP实现的sqlite数据库连接类
2014/12/12 PHP
帝国cms目录结构分享
2015/07/06 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
如何直接访问php实例对象中的private属性详解
2017/10/12 PHP
在textarea中屏蔽js的某个function的javascript代码
2007/04/20 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
javascript组合使用构造函数模式和原型模式实例
2015/06/04 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
jQuery和JavaScript节点插入元素的方法对比
2016/11/18 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
js eval函数使用,js对象和字符串互转实例
2017/03/06 Javascript
JS实现移动端实时监听输入框变化的实例代码
2017/04/12 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
记录一次完整的react hooks实践
2019/03/11 Javascript
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
vue-dplayer 视频播放器实例代码
2019/11/08 Javascript
Python入门篇之列表和元组
2014/10/17 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
python2 与 pyhton3的输入语句写法小结
2018/09/10 Python
Python turtle库的画笔控制说明
2020/06/28 Python
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
Weblogic和WebSphere不同特点
2012/05/09 面试题
教师求职自荐信
2014/03/09 职场文书
个人合作协议书范本
2014/04/18 职场文书
离职保密承诺书
2014/05/28 职场文书
2015年高一班主任工作总结
2015/05/13 职场文书
驳回起诉裁定书
2015/05/19 职场文书
大学运动会通讯稿
2015/07/18 职场文书
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python