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和OpenCV库将URL转换为OpenCV格式的方法
Mar 27 Python
Python爬虫:通过关键字爬取百度图片
Feb 17 Python
python爬虫入门教程--正则表达式完全指南(五)
May 25 Python
详解Python中如何写控制台进度条的整理
Mar 07 Python
使用Python横向合并excel文件的实例
Dec 11 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
python实现文件的备份流程详解
Jun 18 Python
Pytorch之parameters的使用
Dec 31 Python
Python 防止死锁的方法
Jul 29 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
Feb 27 Python
Python Django ORM连表正反操作技巧
Jun 13 Python
Python万能模板案例之matplotlib绘制甘特图
Apr 13 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
很温暖很温暖的Lester Young
2021/03/03 冲泡冲煮
php开发环境配置记录
2011/01/14 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
PHP7 windows支持
2021/03/09 PHP
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
js实现页面转发功能示例代码
2013/08/05 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
JQuery控制图片由中心点逐渐放大效果
2016/06/26 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
canvas绘制爱心的几种方法总结(推荐)
2017/10/31 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
vue-cli脚手架-bulid下的配置文件
2018/03/27 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
2019/05/30 Javascript
解决layer 动态加载select 失效的问题
2019/09/18 Javascript
浅谈python中的变量默认是什么类型
2016/09/11 Python
详解python中字典的循环遍历的两种方式
2017/02/07 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
Python线性拟合实现函数与用法示例
2018/12/13 Python
分析运行中的 Python 进程详细解析
2019/06/22 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
学前班幼儿评语大全
2014/12/29 职场文书
党小组评议意见
2015/06/02 职场文书
《狼牙山五壮士》教学反思
2016/02/17 职场文书
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
2021/06/07 Python
Kubernetes关键组件与结构组成介绍
2022/03/31 Servers