📅  最后修改于: 2023-12-03 14:52:04.351000             🧑  作者: Mango
在进行数据分析时,经常需要将存储在CSV文件中的数据导入到SQLite数据库表中进行分析和处理。Python提供了一种简单的方法来完成这个任务。
以下是将CSV文件导入SQLite数据库表的步骤:
1.安装SQLite3和Python SQLite3模块:要使用SQLite,首先需要安装SQLite3和Python SQLite3模块。
2.创建目标数据库表:使用SQLite shell或SQLite工具创建目标数据库表。
3.导入CSV文件:使用Python编写脚本来将CSV文件的数据导入SQLite数据库表。
安装SQLite3和Python SQLite3模块的方法因操作系统而异。以下是在Ubuntu和Windows上安装的方法:
在Ubuntu上安装SQLite3:
sudo apt-get install sqlite3
在Ubuntu上安装Python SQLite3模块:
sudo apt-get install python3-sqlite
在Windows上安装SQLite3:
下载SQLite3二进制文件并将其设置为系统环境变量。
在Windows上安装Python SQLite3模块:
使用以下命令在命令提示符下安装Python SQLite3模块:
pip install pysqlite3
在SQLite shell或SQLite工具中,使用以下命令创建目标数据库表:
CREATE TABLE students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
gender TEXT
);
使用以下Python脚本将CSV文件中的数据导入SQLite数据库表:
import csv
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('test.db')
# 创建一个游标对象
cursor = conn.cursor()
# 创建一个表
cursor.execute('''
CREATE TABLE students
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
gender TEXT)
''')
# 打开CSV文件并将数据插入到表中
with open('students.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
name, age, gender = row
cursor.execute('''
INSERT INTO students (name, age, gender)
VALUES (?, ?, ?)
''', (name, age, gender))
# 关闭游标和连接
cursor.close()
conn.commit()
conn.close()
这个脚本做了以下事情:
在Python中使用sqlite3模块可以轻松地将CSV文件中的数据导入到SQLite数据库表中。这个过程包含三个步骤:安装SQLite3和Python SQLite3模块、创建目标数据库表和导入CSV文件。