猿问

导入CSV到SQLite

我正在尝试将csv文件导入SQLite表。


范例csv:


1,2

5,6

2,7

示例命令:


sqlite> create table foo(a, b);

sqlite> separator ,

sqlite> .import test.csv foo

Error: test.csv line 1: expected 2 columns of data but found 4

我什至不知道为什么会找到包含六段数据和两列的四列。有什么帮助吗?:)


米琪卡哇伊
浏览 994回答 3
3回答

慕神8447489

在注释中还说了什么,SQLite看到您的输入为1、25、62、7。因此,您可以尝试:sqlite> create table foo(a, b);sqlite> .mode csvsqlite> .import test.csv foo第一条命令为表创建列名。但是,如果您希望列名称从csv文件继承,则可以忽略第一行。

慕码人2483693

这是我的方法。制作/转换要由制表符(\ t)分隔的csv文件,并且不要将其括在任何引号中(sqlite从字面上解释引号-表示旧文档)输入需要添加数据的数据库的sqlite shellsqlite> .separator "\t" ---IMPORTANT! should be in double quotes sqlite> .import afile.csv tablename-to-import-to

暮色呼如

我根据自己的经验将以前的答案中的信息合并。最简单的方法是将逗号分隔的表头直接添加到csv文件中,然后添加新行,然后添加所有csv数据。如果您再也没有做过sqlite的工作了(像我一样),则可以为您节省一两个网络搜索:在Sqlite shell中输入:$ sqlite3 yourfile.sqlitesqlite>  .mode csvsqlite>  .import test.csv yourtablesqlite>  .exit如果您的Mac上尚未安装Sqlite,请运行$ brew install sqlite3您可能需要进行一次网络搜索以了解如何安装Homebrew。
随时随地看视频慕课网APP

相关分类

MySQL
我要回答