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读写二进制文件的方法
May 09 Python
Python装饰器入门学习教程(九步学习)
Jan 28 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
May 16 Python
浅谈Python使用Bottle来提供一个简单的web服务
Dec 27 Python
python自动12306抢票软件实现代码
Feb 24 Python
python多进程提取处理大量文本的关键词方法
Jun 05 Python
详解python的sorted函数对字典按key排序和按value排序
Aug 10 Python
python实现年会抽奖程序
Jan 22 Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 Python
Python运行提示缺少模块问题解决方案
Apr 02 Python
python读取hdfs上的parquet文件方式
Jun 06 Python
python基于OpenCV模板匹配识别图片中的数字
Mar 31 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+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
2017/03/02 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
在TP5数据库中四个字段实现无限分类的示例
2019/10/18 PHP
JavaScript Archive Network 集合
2007/05/12 Javascript
iframe 异步加载技术及性能分析
2011/07/19 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
2016/07/20 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
Vue实现用户自定义字段显示数据的方法
2018/08/28 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
Python 判断是否为质数或素数的实例
2017/10/30 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
Django添加sitemap的方法示例
2018/08/06 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
TensorFlow查看输入节点和输出节点名称方式
2020/01/04 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
python3.7添加dlib模块的方法
2020/07/01 Python
python操作toml文件的示例代码
2020/11/27 Python
幼师辞职信怎么写
2015/02/27 职场文书
大学生入党自传2015
2015/06/26 职场文书
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python
Python开发简易五子棋小游戏
2022/05/02 Python