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常用随机数与随机字符串方法实例
Apr 09 Python
深入讲解Python中的迭代器和生成器
Oct 26 Python
python生成tensorflow输入输出的图像格式的方法
Feb 12 Python
python调用动态链接库的基本过程详解
Jun 19 Python
python列表,字典,元组简单用法示例
Jul 11 Python
使用python远程操作linux过程解析
Dec 04 Python
Python图像阈值化处理及算法比对实例解析
Jun 19 Python
Python pip安装第三方库实现过程解析
Jul 09 Python
python实现AHP算法的方法实例(层次分析法)
Sep 09 Python
python基于tkinter制作无损音乐下载工具
Mar 29 Python
Python如何导出导入所有依赖包详解
Jun 08 Python
Python采集壁纸并实现炫轮播
Apr 30 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 session 预定义数组
2009/03/16 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
2013/11/11 PHP
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
javascript Array.prototype.slice使用说明
2010/10/11 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
2014/02/04 Javascript
Area 区域实现post提交数据的js写法
2014/04/22 Javascript
jQuery中append()方法用法实例
2015/01/08 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
javascript求日期差的方法
2016/03/02 Javascript
简单实现js页面切换功能
2021/01/10 Javascript
瀑布流的实现方式(原生js+jquery+css3)
2020/06/28 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
VUE多层路由嵌套实现代码
2017/05/15 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
python基础教程项目三之万能的XML
2018/04/02 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
Python操作Elasticsearch处理timeout超时
2020/07/17 Python
带病坚持工作事迹
2014/05/03 职场文书
企业挂职心得体会
2014/09/10 职场文书
2016大学迎新欢迎词
2015/09/29 职场文书
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python
解决numpy和torch数据类型转化的问题
2021/05/23 Python
PHP设计模式(观察者模式)
2021/07/07 PHP
html form表单基础入门案例讲解
2021/07/15 HTML / CSS
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL