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 开发Activex组件方法
Nov 08 Python
python django事务transaction源码分析详解
Mar 17 Python
Python实现复杂对象转JSON的方法示例
Jun 22 Python
Python3实现的画图及加载图片动画效果示例
Jan 19 Python
浅谈flask中的before_request与after_request
Jan 20 Python
Python模块搜索路径代码详解
Jan 29 Python
如何用python整理附件
May 13 Python
Numpy之文件存取的示例代码
Aug 03 Python
python2.7和NLTK安装详细教程
Sep 19 Python
pymysql的简单封装代码实例
Jan 08 Python
五分钟带你搞懂python 迭代器与生成器
Aug 30 Python
python中watchdog文件监控与检测上传功能
Oct 30 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 二维数组快速排序算法的实现代码
2017/10/17 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
2019/10/15 PHP
Js 时间函数getYear()的使用问题探讨
2013/04/01 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
window.onresize 多次触发的解决方法
2013/11/08 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
angular过滤器实现排序功能
2017/06/27 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
jQuery实现购物车的总价计算和总价传值功能
2018/11/28 jQuery
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
2019/01/07 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
Python 多线程实例详解
2017/03/25 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
python opencv之SIFT算法示例
2018/02/24 Python
TensorFlow的权值更新方法
2018/06/14 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
python通过ffmgep从视频中抽帧的方法
2018/12/05 Python
Python with标签使用方法解析
2020/01/17 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
Melissa香港官网:MDreams
2016/07/01 全球购物
美国婴儿用品店:Babies”R”Us
2017/10/12 全球购物
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
信访维稳工作汇报
2014/10/27 职场文书
申报优秀教师材料
2014/12/16 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
2015年司法所工作总结
2015/04/27 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
Python 中的Sympy详细使用
2021/08/07 Python
javascript之Object.assign()的痛点分析
2022/03/03 Javascript