📜  csv 到 sqlite python - SQL (1)

📅  最后修改于: 2023-12-03 15:30:13.115000             🧑  作者: Mango

CSV到SQLite Python - SQL

在数据科学和数据分析中,CSV是一个非常常见的格式,SQLite是一个轻巧且易于使用的关系型数据库管理系统。本文将介绍如何使用Python和SQL将CSV文件转换为SQLite数据库。

步骤
1.导入Python的sqlite3库

使用sqlite3库操作SQLite数据库,需要在Python中导入该库。

import sqlite3
2.创建SQLite数据库

在Python中创建SQLite数据库,需要使用sqlite3库的connect()方法,并将要创建的数据库的名称作为参数传递。

具体实现如下所示:

conn = sqlite3.connect('example.db')

如果该数据库不存在,SQLite将创建一个新的数据库。

3.创建数据表

在SQLite中,需要先创建数据表,才能将数据添加到数据库中。数据表由行和列组成,每一行表示一个条目,每一列则表示该条目的一种属性。

在Python中,使用execute()方法执行SQL语句来创建数据表。

例如,将创建一个名为“table_name”的数据表,其中包含三个列:“col1”,“col2”和“col3”。

conn.execute('''CREATE TABLE table_name (col1 INT, col2 TEXT, col3 REAL);''')

可以按需要更改列的数据类型。

4.导入CSV文件

使用open()函数打开CSV文件,并使用csv库解析该文件。然后,可以将每一行插入到SQLite数据库表中。

下面是将“example.csv”文件导入“table_name”表的代码示例。

import csv

with open('example.csv', 'r', encoding='utf-8-sig', newline='') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        conn.execute(
            'INSERT INTO table_name (col1, col2, col3) VALUES (?, ?, ?);',
            row
        )
    conn.commit()

在上面的示例中,'utf-8-sig' 编码用于解决在读取csv文件时遇到的BOM(Byte Order Mark)问题。

如果需要忽略CSV文件的标题行,可以使用next()方法跳过它。

5.查询数据表

一旦数据被添加到SQLite数据库中,可以使用SELECT语句检索数据。

下面是从“table_name”数据表中选择所有数据的代码示例。

cursor = conn.execute('SELECT * FROM table_name;')
for row in cursor:
    print(row)

或者在matplotlib或pandas中使用SQL语句,以处理、可视化或操作查询结果。

6.关闭SQLite数据库连接

使用完SQLite数据库后,必须关闭连接。可以使用Python中的close()方法完成此操作。

conn.close()
结论

SQLite是一个灵活且易于使用的关系型数据库管理系统。通过使用Python中的csv库和sqlite3库,可以方便地将CSV文件导入SQLite数据库中。感谢您的阅读,希望这篇文章对您有所帮助!