Pandas_sqlite

在Pandas中使用SQLite数据库进行数据操作是一个常见的任务,尤其是在数据分析和数据科学领域。以下是一个简单的示例,展示如何在Pandas中使用SQLite数据库进行数据的读取、写入和查询。

步骤 1: 安装必要的库

首先,确保你已经安装了Pandas和SQLite的库。如果没有安装,可以通过以下命令安装:

bash 复制代码
pip install pandas sqlite3

步骤 2: 创建SQLite数据库和表

在这个例子中,我们将创建一个简单的SQLite数据库,并在其中创建一个表。

python 复制代码
import sqlite3
import pandas as pd

# 连接到SQLite数据库
# 如果文件不存在,会自动在当前目录创建一个数据库文件
conn = sqlite3.connect('example.db')

# 创建一个cursor对象
cursor = conn.cursor()

# 创建一个表
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    salary REAL
)
''')

# 提交事务
conn.commit()

# 关闭连接
conn.close()

步骤 3: 向表中插入数据

我们可以使用Pandas的DataFrame来插入数据。

python 复制代码
# 创建一个DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie'],
    'salary': [50000, 60000, 65000]
}
df = pd.DataFrame(data)

# 再次连接数据库
conn = sqlite3.connect('example.db')

# 将数据插入到SQLite表中
df.to_sql('employees', conn, if_exists='append', index=False)

# 提交事务
conn.commit()

# 关闭连接
conn.close()

步骤 4: 从表中读取数据

现在,我们可以从SQLite表中读取数据到Pandas DataFrame。

python 复制代码
# 连接数据库
conn = sqlite3.connect('example.db')

# 从SQLite表中读取数据
df = pd.read_sql_query("SELECT * FROM employees", conn)

# 显示DataFrame
print(df)

# 关闭连接
conn.close()

步骤 5: 更新和删除数据

你还可以更新或删除表中的数据。

python 复制代码
# 连接数据库
conn = sqlite3.connect('example.db')

# 更新数据
cursor = conn.cursor()
cursor.execute("UPDATE employees SET salary = 55000 WHERE name = 'Alice'")
conn.commit()

# 删除数据
cursor.execute("DELETE FROM employees WHERE name = 'Charlie'")
conn.commit()

# 再次读取数据查看更新结果
df = pd.read_sql_query("SELECT * FROM employees", conn)
print(df)

# 关闭连接
conn.close()

这个例子展示了如何在Pandas中使用SQLite进行基本的数据库操作,包括创建表、插入数据、读取数据、更新和删除数据。这些操作是数据分析和数据科学项目中常见的任务。

相关推荐
锋行天下2 小时前
langgraph 后端发自定义数据,前端接收方法概括
人工智能·python
benchmark_cc3 小时前
用 QuantDash 读取单只股票五档盘口:抽样、缺失值检查与复现记录
python·数据分析·pandas·量化交易·股票数据·quantdash
曲径海盗4 小时前
【Python 学习第 55 天】列表基础
python·学习笔记·编程入门
专注仿真4 小时前
知识问答模型用到的算法集详解及代码实例
python·算法·代码·大模型训练·控制算法
jyOverQ4 小时前
我写了一个 CSDN Markdown 图片助手:告别本地图片逐张上传
python·工具·csdn
刘马想放假8 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
2601_967987378 小时前
python判断变量名不要调用任何函数实现
python·函数·语法·判断·变量名
卷无止境9 小时前
SALib敏感性分析的python库学习笔记
后端·python
duansamve10 小时前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
特立独行的猫A10 小时前
少 3 个环节、少 1 次 ABI、少 3500 行代码:cj-tauri 与 Ionic/Capacitor 的鸿蒙桥接机制对比
java·后端·python