将多个以日期命名的csv读入sqlite3生成多个db文件的代码
时间: 2023-05-31 21:08:03 浏览: 110
基于Sqlite3数据库和多线程,利用C语言完成的员工管理系统
可以参考以下代码:
```
import sqlite3
import glob
import os
# 获取当前目录下所有以日期命名的csv文件
csv_files = glob.glob('[0-9]*.csv')
# 定义数据库文件名前缀
db_prefix = 'data_'
for csv_file in csv_files:
# 获取日期
date_str = os.path.splitext(csv_file)[0]
# 定义数据库文件名
db_name = db_prefix + date_str + '.db'
# 连接数据库并创建表
conn = sqlite3.connect(db_name)
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS data
(column1 TEXT, column2 REAL, column3 INT)''')
# 读取csv文件并插入数据到表中
with open(csv_file, 'r') as f:
for line in f:
data = line.strip().split(',')
c.execute("INSERT INTO data VALUES (?, ?, ?)", (data[0], float(data[1]), int(data[2])))
# 提交并关闭数据库连接
conn.commit()
conn.close()
print('生成数据库文件完成!')
```
该代码先使用glob模块获取当前目录下所有以日期命名的csv文件,然后定义数据库文件名前缀和数据库表结构,并对每个csv文件创建对应的数据库文件和表,最后读取csv文件并插入数据到数据库表中。记得修改表结构和CSV文件中的列数、列名和数据类型。
阅读全文