Python处理SQLite数据库文件的完整指南

七月
七月
发布时间:2026-10-13 | 2人浏览过
原创

本文详细介绍如何使用Python标准库sqlite3创建和操作SQLite数据库,并通过pandas库高效读取数据。涵盖从建立连接、建表插入数据到使用read_sql_query获取DataFrame的完整流程,解决大数据量处理效率问题,附带可视化工具推荐。

在项目分析过程中,遇到后缀为“.sqlite”的数据文件。由于此前较少接触此类格式,为了进行数据分析与处理,本文对如何使用Python打开并操作该文件进行了研究。

SQLite是一款广受欢迎的关系型数据库管理系统,因其轻量级特性,被众多应用程序广泛采用。

与CSV文件类似,SQLite将数据存储在单一文件中,便于分享。多种编程语言支持处理SQLite数据,Python亦在其中。

sqlite3是Python的标准库之一,专门用于处理SQLite数据库。

利用sqlite3模块创建和操作数据库文件。

本文涉及的SQL语句为基础内容,不影响阅读。如需深入了解,可参考:http://www.w3school.com.cn/sql/index.asp

接下来,演示如何使用sqlite3模块创建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

数据预览效果如下:

使用pandas库读取sqlite数据文件。

从上述代码运行结果可见,数据查询结果是一个由元组组成的列表。Python列表在进行后续数据处理与分析时可能不够便捷。假设数据库表格包含100万行或更多数据,通过列表循环遍历获取数据的效率较低。

此时,可以考虑使用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 相关产品和应用

全部下载

专题列表