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实现在控制台输入密码不显示的方法
Jul 02 Python
Python socket网络编程TCP/IP服务器与客户端通信
Jan 05 Python
python3中int(整型)的使用教程
Mar 23 Python
python3中set(集合)的语法总结分享
Mar 24 Python
Python with语句上下文管理器两种实现方法分析
Feb 09 Python
Python贪心算法实例小结
Apr 22 Python
Python2与Python3的区别点整理
Dec 12 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
基于python实现检索标记敏感词并输出
May 07 Python
Python常用数据分析模块原理解析
Jul 20 Python
Python中的With语句的使用及原理
Jul 29 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设置允许大文件上传示例代码
2014/03/10 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
php实现比较两个字符串日期大小的方法
2015/05/12 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
解决微信授权回调页面域名只能设置一个的问题
2016/12/11 PHP
在Z-Blog中运行代码[html][/html](纯JS版)
2007/03/25 Javascript
根据鼠标的位置动态的控制层的位置
2009/11/24 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
vue+element tabs选项卡分页效果
2020/06/29 Javascript
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
JavaScript实现京东快递单号查询
2020/11/30 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
浅析Python3中的对象垃圾收集机制
2019/06/06 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
PyCharm 解决找不到新打开项目的窗口问题
2021/01/15 Python
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
CHARLES & KEITH英国官网:新加坡时尚品牌
2018/07/04 全球购物
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
经贸日语毕业生自荐信
2013/11/03 职场文书
化学教师自荐信范文
2013/12/28 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
2014年社区党建工作总结
2014/11/11 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
地道战观后感500字
2015/06/04 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
python 标准库原理与用法详解之os.path篇
2021/10/24 Python
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL