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采用requests库模拟登录和抓取数据的简单示例
Jul 05 Python
python实现挑选出来100以内的质数
Mar 24 Python
Python中的列表生成式与生成器学习教程
Mar 13 Python
浅谈numpy生成数组的零值问题
Nov 12 Python
Python对象转换为json的方法步骤
Apr 25 Python
Numpy与Pytorch 矩阵操作方式
Dec 27 Python
浅谈python锁与死锁问题
Aug 14 Python
Python根据字典的值查询出对应的键的方法
Sep 30 Python
分享一个python的aes加密代码
Dec 22 Python
python 实现IP子网计算
Feb 18 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
Feb 20 Python
Python Django搭建文件下载服务器的实现
May 10 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针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
JS获取地址栏参数的几种方法小结
2014/02/28 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
AngularJS 如何在控制台进行错误调试
2016/06/07 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
es6中比较有用的7个技巧小结
2019/07/12 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
js实现点击烟花特效
2020/10/14 Javascript
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
Python操作MongoDB数据库PyMongo库使用方法
2015/04/27 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
Python遍历文件夹 处理json文件的方法
2019/01/22 Python
python实现关闭第三方窗口的方法
2019/06/28 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
HTML5表格_动力节点Java学院整理
2017/07/11 HTML / CSS
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
美丽的现代设计家具:2Modern
2018/07/26 全球购物
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
strstr()的简单实现
2013/09/26 面试题
保护环境倡议书300字
2014/05/19 职场文书
工商局副局长个人对照检查材料
2014/09/25 职场文书
圣诞晚会主持词
2015/07/01 职场文书
Python连续赋值需要注意的一些问题
2021/06/03 Python
Pandas数据结构之Series的使用
2022/03/31 Python
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js