基础Python教程之读写sqlite

前言

       SQLite 是一种嵌入式数据库管理系统,它是一个自包含、零配置的、服务器无关的数据库引擎。它的设计目标是提供一个轻量级的、高效的数据库解决方案,适用于嵌入式系统、移动设备和简单的应用程序。

        Python 是一种高级编程语言,其强大的标准库使其成为许多开发人员的首选语言之一。Python 提供了与 SQLite 数据库进行交互的内置模块 sqlite3,使开发人员能够使用 Python 在应用程序中轻松地操作 SQLite 数据库。

        通过 sqlite3 模块,你可以在 Python 中创建、连接、查询和修改 SQLite 数据库。你可以执行 SQL 查询、插入、更新和删除数据,还可以管理数据库表和索引等。

一、环境准备

首先,需要准备以下工具:

  • Python 3.x
  • pandas 库
  • SQLite 数据库

Python可以在官网中直接进行安装,跟安装软件一样方便;pandas 是 Python 中常用的数据处理库,而 SQLite 是一种轻型的数据库系统(Python自带不需要安装),安装Python环境后,安装pandas库:

pip install pandas

二、实现excel写入sqlite的方法

1、读取excel文件

使用pandas进行读取,详细可以查看这篇文章:基础Python教程之pandas使用总结-CSDN博客

import pandas as pd
import numpy as np
 
df = []
 
ws = pd.ExcelFile(file)
sheets = ws.sheet_names
print(sheets)
for sheet in sheets:
    tem_df = pd.read_excel(file, sheet_name=sheet, dtype='str')
    tem_df = tem_df.replace(np.nan, '')
 
    if len(df) == 0:
        df = tem_df
    else:
        df = pd.concat([df, tem_df])
 
print(df)

2、连接sqlite数据库

接下来,我们需要连接 SQLite 数据库。这可以通过 Python 语言的 sqlite3 模块来实现。

import sqlite3

conn = sqlite3.connect('data.db')

3、将 DataFrame 写入sqlite数据库

现在,我们需要将 DataFrame 中的数据写入到 SQLite 数据库中。在这里,我们可以使用 pandas 库中的 to_sql 函数来实现。

df.to_sql('data', conn, if_exists='replace', index=False)

以上代码中,我们使用 to_sql 函数将名为 data 的 DataFrame,写入到名为 data 的表中。其中,conn 参数是 SQLite 数据库连接对象,if_exists 参数是用于指定表已经存在时的行为,这里我们将其设为 replace,表示替换原有的表。index 参数是表示是否需要将 DataFrame 中的索引写入到数据库中。

三、实现读取sqlite写入excel的方法

1、连接sqlite3数据库

使用Python连接sqlite3数据库,只需要如下几行代码:

import sqlite3

#连接数据库
conn = sqlite3.connect('data.db')

#创建游标
cursor = conn.cursor()

#执行SQL语句
cursor.execute('SELECT * FROM data')

#获取查询结果
result = cursor.fetchall()

#关闭游标和连接
cursor.close()
conn.close()

首先使用sqlite3库中的connect方法连接数据库,传入数据库文件名作为参数。然后使用cursor方法创建游标,通过游标执行SQL语句,最后通过fetchall方法获取查询结果。最后需要手动关闭游标和连接,以释放相关资源。

2、读取sqlite3中表的列名

跟上面操作差不多,唯一就是sql语句发生了变化。

import sqlite3

#连接数据库
conn = sqlite3.connect('data.db')

#创建游标
cursor = conn.cursor()

#执行SQL语句
cursor.execute('PRAGMA table_info(data)')

#获取查询结果
columns = cursor.fetchall()
column_names = [c[1] for c in columns]


#关闭游标和连接
cursor.close()
conn.close()

3、写入excel文件

df = pd.DataFrame(result, columns=column_names)

# 输出excel
df.to_excel("data.xlsx", index=False)

其中的result和column_names为上面查询出来的值,通过df.to_excel输出数据到excel中。

完毕!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: SQLite是一种轻量级的嵌入式数据库引擎,用于处理小型数据库应用程序。它是在C语言中开发的,因此在使用SQLite时,我们需要使用C语言编写代码。 通过使用SQLite C接口,我们可以使用C语言操作SQLite数据库。首先,我们需要使用sqlite3_open函数打开数据库连接。这个函数接受一个数据库文件的路径作为参数,并返回一个指向sqlite3结构的指针,表示一个数据库连接。 一旦我们打开了数据库连接,就可以使用sqlite3_exec函数执行SQL语句。这个函数接受一个指向数据库连接的指针、SQL语句以及一个回调函数作为参数。回调函数将在执行SQL语句后被调用,并且可以用来处理查询结果。 除了执行SQL语句之外,我们还可以使用sqlite3_prepare_v2函数来编译SQL语句,然后使用sqlite3_step函数逐步执行编译后的语句。这种方式允许我们在多次执行之间重复使用编译后的语句,以提高性能。 操作完成后,我们需要使用sqlite3_finalize函数释放编译过的语句,并使用sqlite3_close函数关闭数据库连接。 总之,使用SQLite C接口,我们可以在C语言中轻松地使用SQLite数据库。我们只需打开数据库连接,执行SQL语句,并处理查询结果。这使得SQLite成为处理小型数据库应用程序的理想选择。 ### 回答2: SQLite是一种轻量级的关系型数据库管理系统,它在C语言中有良好的支持。以下是关于SQLite在C语言中的一些基本说明。 首先,SQLite提供了一个叫做SQLite3的C语言接口库,用于在C程序中操作SQLite数据库。要使用SQLite3库,我们需要包含相应的头文件,并链接到相应的二进制库文件。 在C程序中,我们可以通过调用SQLite3库中定义的函数来执行各种数据库操作,如创建数据库、创建表、插入数据、查询数据等。例如,我们可以使用sqlite3_open函数来打开一个数据库连接,使用sqlite3_exec函数来执行一条SQL语句,使用sqlite3_prepare_v2函数来准备一个SQL语句等。 SQLite数据库中的数据可以通过使用SQL语句来查询和修改。在C程序中,我们可以使用变量、结构体、指针等来处理查询结果和执行修改操作。同时,SQLite还提供了一些方便的API函数,用于处理查询结果集、管理事务、处理错误等。 值得一提的是,SQLite在C语言中的接口是线程安全的,这意味着我们可以在多个线程中同时使用SQLite库来访问数据库,并且不需要额外的线程同步机制。 总之,SQLite在C语言中提供了一组强大而简单的API函数,使得我们可以在C程序中方便地操作SQLite数据库。无论是嵌入式设备还是桌面应用程序,利用SQLite库都可以实现高效且可靠的数据存储和操作。 ### 回答3: SQLite是一种嵌入式的关系型数据库管理系统,可以用C语言进行编程。使用SQLite可以在内存中创建数据库,并进行各种操作,如创建表、插入数据、查询数据、更新数据和删除数据等。 使用SQLite的C接口库,我们首先需要创建一个SQLite数据库对象。然后,可以使用这个对象执行各种SQL语句,来实现数据库的操作。例如,可以用sqlite3_open()函数打开或创建一个数据库,用sqlite3_exec()函数执行SQL语句,用sqlite3_close()函数关闭数据库。 对于数据库的操作,如创建表、插入数据等,可以使用SQL语句进行操作。通过sqlite3_exec()函数执行SQL语句,可以将SQL语句以字符串的形式传递给该函数。例如,要创建一个表,可以使用CREATE TABLE语句,例如"CREATE TABLE Students (ID INT, NAME TEXT);"。要插入数据,可以使用INSERT INTO语句,例如"INSERT INTO Students (ID, NAME) VALUES (1, 'Tom');"。 查询数据是使用SQLite的一个常见操作。通常使用SELECT语句来查询数据库中的数据。查询结果可以通过sqlite3_exec()函数的回调函数来获取,并进行处理。例如,要查询表中的所有数据,可以使用"SELECT * FROM Students;"。 SQLite的C接口库还提供了其他一些功能,如事务处理、错误处理和表格操作等。例如,可以使用sqlite3_exec()函数执行BEGIN和COMMIT语句来实现数据库的事务处理;可以使用sqlite3_exec()函数的回调函数获取错误信息来处理错误;可以使用ALTER TABLE语句来修改表格结构。 总之,SQLite是一种强大的嵌入式数据库管理系统,通过C语言编程可以实现各种数据库操作,如创建表、插入数据、查询数据和更新数据等,使得程序开发更加灵活和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番茄小能手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值