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 实现插入排序算法
Jun 05 Python
python使用cookie库操保存cookie详解
Mar 03 Python
怎样使用Python脚本日志功能
Aug 14 Python
Django学习笔记之Class-Based-View
Feb 15 Python
利用Python查看目录中的文件示例详解
Aug 28 Python
python判断一个集合是否为另一个集合的子集方法
May 04 Python
pandas 数据结构之Series的使用方法
Jun 21 Python
使用Python脚本zabbix自定义key监控oracle连接状态
Aug 28 Python
详解mac python+selenium+Chrome 简单案例
Nov 08 Python
Python利用matplotlib绘制约数个数统计图示例
Nov 26 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
Apr 14 Python
如何用tempfile库创建python进程中的临时文件
Jan 28 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中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
浅谈PHP中output_buffering
2015/07/13 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
PHP耦合设计模式实例分析
2018/08/08 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
SharePoint 客户端对象模型 (一) ECMA Script
2011/05/22 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
JS生成不重复随机数组的函数代码
2014/06/10 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
零基础轻松学JavaScript闭包
2016/12/30 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
python3实现名片管理系统
2020/11/29 Python
python爬取指定微信公众号文章
2018/12/20 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
python中必要的名词解释
2019/11/20 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
Python RabbitMQ实现简单的进程间通信示例
2020/07/02 Python
一站式跨境收款解决方案:Payoneer(派安盈)
2018/09/06 全球购物
西班牙高科技产品购物网站:MejorDeseo
2019/09/08 全球购物
感恩节活动方案
2014/01/27 职场文书
优秀毕业生自我鉴定
2014/02/11 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
Oracle用户管理及赋权
2022/04/24 Oracle