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

相关推荐
Csvn1 天前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
cch89181 天前
Python主流框架全解析
开发语言·python
sg_knight1 天前
设计模式实战:状态模式(State)
python·ui·设计模式·状态模式·state
好运的阿财1 天前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
张張4081 天前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_423533991 天前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python
Ricky111zzz1 天前
leetcode学python记录1
python·算法·leetcode·职场和发展
小白学大数据1 天前
Selenium+Python 爬虫:动态加载头条问答爬取
爬虫·python·selenium
Hui Baby1 天前
springboot读取配置文件
后端·python·flask
阿Y加油吧1 天前
回溯法经典难题:N 皇后问题 深度解析 + 二分查找入门(搜索插入位置)
开发语言·python