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 Tkinter GUI编程入门介绍
Mar 10 Python
使用Python设置tmpfs来加速项目的教程
Apr 17 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
Jan 20 Python
Python的Scrapy爬虫框架简单学习笔记
Jan 20 Python
python中numpy的矩阵、多维数组的用法
Feb 05 Python
Numpy 将二维图像矩阵转换为一维向量的方法
Jun 05 Python
对Python2与Python3中__bool__方法的差异详解
Nov 01 Python
python之信息加密题目详解
Jun 26 Python
python openvc 裁剪、剪切图片 提取图片的行和列
Sep 19 Python
python如何处理程序无法打开
Jun 16 Python
python实现AdaBoost算法的示例
Oct 03 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
php 文件状态缓存带来的问题
2008/12/14 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
javascript两段代码,两个小技巧
2010/02/04 Javascript
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
JavaScript极简入门教程(一):基础篇
2014/10/25 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
jQuery Validate插件自定义验证规则的方法
2016/12/27 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
Python实现股市信息下载的方法
2015/06/15 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
python检索特定内容的文本文件实例
2018/06/05 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
屈臣氏俄罗斯在线商店:Watsons俄罗斯
2020/08/03 全球购物
公司企业表扬信
2014/01/11 职场文书
自我鉴定书面格式
2014/01/13 职场文书
网页美工求职信范文
2014/04/17 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
战马观后感
2015/06/08 职场文书
MySQL 分组查询的优化方法
2021/05/12 MySQL
python微信智能AI机器人实现多种支付方式
2022/04/12 Python