将CSV文件导入到SQLite数据库(不包含标题)

时间:2019-04-16 11:39:36

标签: sql sqlite

如何使用控制台将CSV文件加载到表格中?问题是我必须以某种方式忽略CSV文件中的标题(我无法手动删除它们)。

2 个答案:

答案 0 :(得分:0)

来自sqlite3 doc on CSV Import

  

有两种情况要考虑:(1)表“ tab1”以前没有   存在,并且(2)表“ tab1”已经存在。

     

在第一种情况下,当该表先前不存在时,该表   自动创建,并且输入第一行的内容   CSV文件用于确定列表中所有列的名称   表。换句话说,如果该表以前不存在,则   CSV文件的第一行被解释为列名,   实际数据从CSV文件的第二行开始。

     

对于第二种情况,当表已经存在时,   包含第一行的CSV文件被假定为实际内容。如果   CSV文件包含列标签的初始行,该行将   作为数据读取并插入表中。为避免这种情况,请确保   该表以前不存在。

是/或。您将不得不超越它。

假设“ 我无法手动删除它们”是指从csv而不是从表中删除,则可以在导入后通过sql删除标题行。

或者:导入到目标数据库的临时表中,从临时表插入目标表中,然后删除临时表。

或者:

  • 连接到内存数据库
  • 将CSV导入表格
  • 附加目标数据库
  • 从导入的内存表中插入目标表

答案 1 :(得分:0)

只需添加选项 --skip 1,参见 https://www.sqlite.org/cli.html#importing_csv_files