使用Python从CSV创建SQLite数据库

使用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个字段:idnameage。其中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进行数据处理,将会简单易用,方便快捷。希望本文对大家有所帮助。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程