Python读取和处理文件后缀为".sqlite"的数据文件

最近在弄一个项目分析的时候,看到有一个后缀为”.sqlite”的数据文件,由于以前没怎么接触过,就想着怎么用python来打开并进行数据分析与处理,于是稍微研究了一下。

SQLite是一款非常流行的关系型数据库,由于它非常轻盈,因此被大量应用程序采用。

像csv文件一样,SQLite可以将数据存储于单个数据文件,以便方便的分享给其他人员。许多编程语言都支持SQLite数据的处理,python语言也不例外。

sqlite3是python的一个标准库,可以用于处理SQLite数据库。

用sqlite3创建和操作数据库文件

对于数据库的SQL语句,本文会用到最基础的SQL语句,应该不影响阅读。如果想进一步了解,可参考如下网址:
http://www.w3school.com.cn/sql/index.asp

下面,我们来应用salite3模块来创建SQLite数据文件,以及进行数据读写操作。主要的步骤如下:

  1. 与数据库建立连接,创建数据库文件(.sqlite文件)
  2. 创建游标(cursor)
  3. 创建数据表(table)
  4. 向数据表中插入数据
  5. 查询数据

演示代码如下:

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

数据预览的效果如下:

用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


?

时间: 2024-10-11 23:27:37

Python读取和处理文件后缀为".sqlite"的数据文件的相关文章

己亥清爽恢复系列之数据文件3篇:非核心数据文件物理损坏或丢失(无备份恢复)

己亥清爽系列说明:清爽系列是作为恢复系列的基础篇,基于FS(File System)文件系统的手工还原恢复,也叫基于用户管理的还原恢复,来自于博客园AskScuti. 实验说明:物理删除非关键系统数据文件,模拟介质损坏或丢失,且在无备份的情况下,如何进行手工完全还原恢复操作.注:控制文件.在线日志和归档日志都完整的情况下. 基于版本:Oracle 11gR2 11.2.0.4 AskScuti 概念说明:请严格区分什么叫还原(Restore),什么叫恢复(Recover). 还原(Restore

python读取一个目录下面的所有sqlite文件 然后写到同一个数据库文件test.db中

import sqlite3 as dbimport osif name=="main": if os.path.exists("./output/test.db"): os.remove("./output/test.db") conn_write = db.connect('./output/test.db') cursor_write = conn_write.cursor() cursor_write.execute("CREA

Mysql数据库文件迁移并修改默认数据文件存储位置

环境: 1.两台Win10电脑 2.MySql5.6 过程: 1.原电脑停止MySql服务 2.复制C:\ProgramData\MySQL\MySQL Server 5.6\data文件夹到目标电脑的D:\MysqlData 3.目标电脑停上MySql服务 4.修改目标电脑C:\Program Files (x86)\MySQL\MySQL Server 5.6\my.ini文件: datadir改为: datadir="D:/MySqlData/data/" 5.目标电脑D:/My

Python解析excel文件并存入sqlite数据库

功能:1.数据库设计 建立数据库2.Python解析excel文件3.Python读取文件名并解析4.将解析的数据存储入库 一 建立数据库 根据需求建立数据库,建立了两个表,并保证了可以将数据存储到已有的数据库中,代码如下: import sqlite3 def createDataBase(): cn = sqlite3.connect('check.db') cn.execute('''CREATE TABLE IF NOT EXISTS TB_CHECK (ID integer PRIMA

Python读取Yaml文件

近期看到好多使用Yaml文件做为配置文件或者数据文件的工程,随即也研究了下,发现Yaml有几个优点:可读性好.和脚本语言的交互性好(确实非常好).使用实现语言的数据类型.有一个一致的数据模型.易于实现. 既然有这么多好处,为什么不用呢,随后开始研究在Python中怎么读取Yaml文件,下面我们来看下: 1.首先需要下载Python的yaml库PyYAML,下载地址:http://pyyaml.org/,安装过程就省略...... 2.建立一个.py文件 3.import yaml 4.f = o

MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加

微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MDF文件里,LDF文件是存放MS SQL Server操作过程中的日志记录. MDF文件必读附加到MS SQL Server数据库环境后,才能正常读取其中的数据.当由于某种原因数据库附加不上,MDF数据库文件的内容就没办法读取,修复的方法有两种: 1. 使用MS SQL Server环境进行修复,先以

ios 文件上传, post数据

一.文件下载 获取资源文件大小有两张方式 1. HTTP HEAD方法 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:0 timeoutInterval:kTimeout]; request.HTTPMethod = @"HEAD"; [NSURLConnection sendAsynchronousRequest:request queue:self.myQueue

移动数据文件的方法

有时某个磁盘的I/0可能过于繁忙,这可能影响到数据库系统的整体效率.此时就应该将一个或几个数据文件移动到其他磁盘上以平衡磁盘的I/O.另外在磁盘损坏的情况下也应该考虑移动数据文件.oracle提供了两条移动数据文件的指令. 一.移动非系统数据文件 alter tablespace tablespace_name rename datafile 'file_name.dbf' to 'file_name.dbf'; 该语句适合于上面没有活动的还原数据或者临时数据段的非系统表空间中的数据文件,要求在

系统数据文件和信息

系统正常运行需要使用大量系统数据文件,其中,所有UNIX系统都有的是:口令文件.组文件,大多数系统都提供的是:登录账户记录.系统标识.时间和日期例程,同时还有其他一些常用系统数据文件如:BSD网络软件有一个记录各网络服务器所提供服务的数据文件(/etc/services).记录协议住处的数据文件(etc/protocols)等. 1.口令文件 口令文件包括了以下字段,这些字段包含在<pwd.h>中定义的passwd结构中: struct passwd { char*  pw_name;