【发布时间】:2013-12-09 12:28:17
【问题描述】:
我正在尝试将 csv 文件导入到我正在使用 python 编写的 sqlite3 数据库中。我对以这种方式导入数据和一般的 sqlite3 还是很陌生。
我得到的数据文件的开头往往格式不规则,但我想要的行总是以日期字段 (dd/mm/yy) 和时间字段 (hh:mm:ss) 开头。 示例文件如下:
Hello I am a file, , , ,
I am a type of csv file, , , ,
Date, Time, ID number, Message
12/12/2012, 13:12:13, 1, Hello World
13/12/2012, 13:12:13, 2, Goodbye
所以我只想导入第 4 行和第 5 行(以及所有带有日期的后续行),但跳过描述文件和列标题的前 3 行。
到目前为止,我已经获得了读取数据然后将其与唯一标识符 (logID) 一起放入表中的代码,但目前我只是从第 4 行开始读取 - 我想要对于文件没有前 3 行简介的情况的更通用的解决方案。
#code above here opens the database and creates a cursor
with open(file) as csvfile:
reader = csv.reader(csvfile, dialect='excel')
for row in reader:
if reader.line_num >= 4:
values = logID + str(row[0]) + str(row[1]) + str(row[2]) + str(row[3])
cursor.execute("INSERT INTO table VALUES(" +values+ ");")
提前感谢您的帮助!
【问题讨论】: