使用Python从CSV创建SQLite数据库
CSV文件是一种常见的数据交换格式,而SQLite是一种简单易用的嵌入式数据库系统,本文将介绍如何使用Python从CSV文件创建一个SQLite数据库,并进行简单的数据操作。
准备工作
首先需要安装Python,推荐使用Python 3.x版本,同时也需要安装一个SQLite数据库工具,例如DB Browser for SQLite。
在Python中操作SQLite需要借助sqlite3模块,使用以下代码导入该模块:
import sqlite3
创建数据库和表
接下来,我们需要将CSV数据导入到SQLite中。首先需要创建一个空的数据库,使用以下代码:
conn = sqlite3.connect('mydatabase.db')
该代码会在当前目录下创建一个名为mydatabase.db
的SQLite数据库文件。
接下来,我们需要创建一个表格,并定义表格的结构,例如:
conn.execute('''CREATE TABLE mytable (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER);''')
该代码会创建一个名为mytable
的表格,该表格包含3个字段:id
、name
和age
。其中id
为主键,且自动递增。
将数据导入到表格中
现在,我们已经成功地创建了一个空的数据库和一个表格。接下来,我们需要将CSV数据导入到该表格中。
假设我们有一个名为data.csv
的CSV文件,其中包含了如下的数据:
Alice,25
Bob,30
Charlie,35
我们可以使用以下代码将该文件中的数据导入到表格中:
import csv
with open('data.csv') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
conn.execute("INSERT INTO mytable (name, age) VALUES (?, ?)", row)
conn.commit()
该代码首先使用csv
模块打开CSV文件,并读取其中的数据。接下来,对于每一行数据,使用INSERT INTO
语句将数据插入到表格中。
其中,?
是SQL语句中的占位符,在执行execute
方法时,会将后面的参数值按顺序填充到该位置上。
最后,使用commit
方法提交更改,完成数据导入操作。
数据查询
现在,我们已经成功地将CSV数据导入到了SQLite数据库中,接下来,我们可以进行一些简单的数据查询操作。
例如,我们可以使用以下代码查询表格中的所有数据:
cursor = conn.execute("SELECT id, name, age FROM mytable")
for row in cursor:
print(row)
该代码查询表格中的所有数据,并将查询结果逐行打印出来。
我们也可以使用条件查询来筛选数据,例如:
cursor = conn.execute("SELECT * FROM mytable WHERE age > ?", (30,))
for row in cursor:
print(row)
该代码查询年龄大于30岁的数据,并将结果逐行打印出来。
数据修改和删除
除了查询数据,我们也可以进行数据的修改和删除操作。例如,我们可以使用以下代码将数据表中年龄小于30岁的数据删除:
conn.execute("DELETE FROM mytable WHERE age < ?", (30,))
conn.commit()
该代码使用DELETE FROM
语句删除表格中符合条件的数据,并使用commit
方法提交更改。
我们也可以使用UPDATE
语句修改表格中的数据,例如:
conn.execute("UPDATE mytable SET age = ? WHERE name = ?", (28, 'Alice'))
conn.commit()
该代码将表格中姓名为Alice
的数据的年龄修改为28岁,并使用commit
方法提交更改。
结论
本文介绍了如何使用Python从CSV文件创建SQLite数据库,并进行简单的数据操作,包括数据导入、查询、修改和删除。使用Python和SQLite进行数据处理,将会简单易用,方便快捷。希望本文对大家有所帮助。