为了账号安全,请及时绑定邮箱和手机立即绑定

导入CSV到SQLite

导入CSV到SQLite

米琪卡哇伊 2019-12-12 13:01:50
我正在尝试将csv文件导入SQLite表。范例csv:1,25,62,7示例命令:sqlite> create table foo(a, b);sqlite> separator ,sqlite> .import test.csv fooError: test.csv line 1: expected 2 columns of data but found 4我什至不知道为什么会找到包含六段数据和两列的四列。有什么帮助吗?:)
查看完整描述

3 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

在注释中还说了什么,SQLite看到您的输入为1、25、62、7。因此,您可以尝试:


sqlite> create table foo(a, b);

sqlite> .mode csv

sqlite> .import test.csv foo

第一条命令为表创建列名。但是,如果您希望列名称从csv文件继承,则可以忽略第一行。


查看完整回答
反对 回复 2019-12-12
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

这是我的方法。


制作/转换要由制表符(\ t)分隔的csv文件,并且不要将其括在任何引号中(sqlite从字面上解释引号-表示旧文档)

输入需要添加数据的数据库的sqlite shell


sqlite> .separator "\t" ---IMPORTANT! should be in double quotes

 sqlite> .import afile.csv tablename-to-import-to


查看完整回答
反对 回复 2019-12-12
?
暮色呼如

TA贡献1853条经验 获得超9个赞

我根据自己的经验将以前的答案中的信息合并。最简单的方法是将逗号分隔的表头直接添加到csv文件中,然后添加新行,然后添加所有csv数据。


如果您再也没有做过sqlite的工作了(像我一样),则可以为您节省一两个网络搜索:


在Sqlite shell中输入:


$ sqlite3 yourfile.sqlite

sqlite>  .mode csv

sqlite>  .import test.csv yourtable

sqlite>  .exit

如果您的Mac上尚未安装Sqlite,请运行


$ brew install sqlite3

您可能需要进行一次网络搜索以了解如何安装Homebrew。


查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 993 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信