使用Python从 CSV 创建一个 sqlite 数据库
先决条件:
- 熊猫
- SQLite
SQLite 是一个实现轻量级关系数据库管理系统的软件库。与 PostgreSQL、MySQL、Oracle 等其他 RDBMS 不同,它不需要服务器来运行,应用程序直接与 SQLite 数据库交互。 SQLite 通常用于小型应用程序,尤其是在嵌入式系统和移动应用程序中。要在Python中与 SQLite 数据库交互,需要 sqlite3 模块。
方法
- 导入模块
- 创建数据库并建立连接-
为了建立连接,我们使用返回连接对象的sqlite3.connect()函数。在此函数中传递要创建的数据库的名称。 SQLite 数据库的完整状态存储在扩展名为 .db 的文件中。如果未指定路径,则在当前工作目录中创建新数据库。
句法:
sqlite3.connect(‘database_name.db’)
- 使用 read_csv() 导入 csv
句法:
pandas.read_csv(‘file_name.csv’)
- 将内容写入新表-
函数to_sql()根据数据帧的记录创建一个新表。在这个函数中传递表名和连接对象。表的列名与 CSV 文件的标题相同。默认情况下,数据帧索引被写为一列。只需将index参数切换为 False 即可删除此列。此外, if_exists参数指定表名已被使用时的行为。它可以引发错误(失败)、追加新值或替换现有表。
pandas.DataFrame.to_sql(table_name, connection_object, if_exists, index)
- 检查表格内容-
创建一个游标对象并执行标准的 SELECT 语句来获取新创建的表的内容。
- 关闭连接
正在使用的 CSV 文件: stud_data.csv
程序:
Python3
# Import required libraries
import sqlite3
import pandas as pd
# Connect to SQLite database
conn = sqlite3.connect(r'C:\User\SQLite\University.db')
# Load CSV data into Pandas DataFrame
stud_data = pd.read_csv('stud_data.csv')
# Write the data to a sqlite table
stud_data.to_sql('student', conn, if_exists='replace', index=False)
# Create a cursor object
cur = conn.cursor()
# Fetch and display result
for row in cur.execute('SELECT * FROM student'):
print(row)
# Close connection to SQLite database
conn.close()
输出: