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进行基本的数据库操作,包括创建表、插入数据、读取数据、更新和删除数据。这些操作是数据分析和数据科学项目中常见的任务。

相关推荐
小帅热爱难回头29 分钟前
编写Skill生成AI落地项目系统架构
python
diving deep1 小时前
脚本速览-python
开发语言·python
2601_951643772 小时前
Python第一,Java跌出前三,C语言杀回来了
java·c语言·python·编程语言排行·技术趋势
AC赳赳老秦5 小时前
OpenClaw+Power Apps 实战:自动生成 Power Apps 应用、连接 Excel 数据源
大数据·开发语言·python·serverless·excel·deepseek·openclaw
茉莉玫瑰花茶6 小时前
综合案例 - AI 智能租房助手 [ 5 ]
服务器·数据库·人工智能·python·ai
文艺倾年6 小时前
【强化学习】强化学习基本概念,20W字总结(一)
人工智能·python·语言模型·自然语言处理·面试·职场和发展·大模型
宸丶一6 小时前
Day 13:持久化记忆 - 让 Agent 拥有长期记忆
jvm·python·ai
码云骑士7 小时前
13-列表append的底层真相(上)-listobject源码中的预分配策略
开发语言·python
浦信仿真大讲堂7 小时前
达索系统SIMULIA Abaqus 2026接触和约束的增强新功能介绍
人工智能·python·算法·仿真软件·达索软件
xufengzhu7 小时前
第三方 Python 库 Loguru 的进阶实战
python·loguru