基础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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

番茄小能手

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

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

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

打赏作者

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

抵扣说明:

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

余额充值