我正在尝试将excel数据库迁移到sqlite中,尽管我对后者没有专业知识。
我的第一步是将一系列CSV文件导入到sql数据库中(我发现这很容易)。 这些表有一个共同的结构,即
column1: timestamp
column2: temperature
column3: humidity
第二步是根据第一列(时间戳)中的值合并导入表中的行。行中的数据可能重叠或有间隙,例如:
timestamp,temperature,humidity
04/01/2016 09:00:00, 23.1, 45.5
04/01/2016 09:15:00, 23.3, 46
...
20/01/2016 15:15:00, 25, 40
与
timestamp,temperature,humidity
10/01/2016 09:00:00, 23.1, 45.5
10/01/2016 09:15:00, 23.3, 46
...
30/01/2016 15:15:00, 25, 40
如何合并两个(或更多)导入的CSV,覆盖公共数据并将间隙的空白(或NULL)值留在一个主sql表中?
谢谢, 安德烈
答案 0 :(得分:1)
My_Table 包含以下列:
时间| temp |湿度
example.csv 包含以下数据:
10/01/2016 09:15:00,23.1,45.5
10/01/2016 09:11:00,22.3,41.5
10/01/2016 09:15:00,23.1,42.5
转到Sqlite3终端并运行以下命令。
.separator ","
.import example.csv My_Table
同样,您可以最后导入所有csv文件,您可以根据时间删除重复的行。
delete from My_Table where rowid not in (select max(rowid) from My_Table group by time);