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 28 Python
python实现ID3决策树算法
Dec 20 Python
django从请求到响应的过程深入讲解
Aug 01 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
python tkinter控件布局项目实例
Nov 04 Python
Pytorch maxpool的ceil_mode用法
Feb 18 Python
Python爬虫工具requests-html使用解析
Apr 29 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 Python
在 Python 中使用 7zip 备份文件的操作
Dec 11 Python
Python 批量下载阴阳师网站壁纸
May 19 Python
opencv 分类白天与夜景视频的方法
Jun 05 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
MySQL授权问题总结
2007/05/06 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
PHP使用NuSOAP调用Web服务的方法
2015/07/18 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
javascript div 遮罩层封锁整个页面
2009/07/10 Javascript
JQUERY 浏览器判断实现函数
2009/08/20 Javascript
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
JavaScript优化以及前段开发小技巧
2017/02/02 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
[04:28]2014DOTA2国际邀请赛 采访小兔子LGD挺进钥匙体育馆
2014/07/14 DOTA
[01:07:15]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第二场 1月25日
2021/03/11 DOTA
Django 实现下载文件功能的示例
2018/03/06 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
Django框架组成结构、基本概念与文件功能分析
2019/07/30 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
Shein英国:女性时尚网上商店
2019/04/10 全球购物
会计专业自荐信
2014/06/03 职场文书
敬老院志愿者活动总结
2015/05/06 职场文书
学习十八大的感悟
2015/08/11 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
民警忠诚教育心得体会
2016/01/23 职场文书
Python中可变和不可变对象的深入讲解
2021/08/02 Python