我绝对是在撞墙,因为没有其他答案对我有用。
我有一个CSV文件......这里有10行作为示例
Row 1: https://h10145.www1.hpe.com/downloads/SoftwareReleases.aspx?ProductNumber=J4813A
Row 2: F.05.80 6-Jul-15 3-Nov-15 Release notes 1.67 MB »
Row 3: https://h10145.www1.hpe.com/downloads/SoftwareReleases.aspx?ProductNumber=J4903A
Row 4: I.10.107 24-Aug-15 2-Nov-15 Release notes 3.49 MB »
Row 5: https://h10145.www1.hpe.com/downloads/SoftwareReleases.aspx?ProductNumber=J9019B
Row 6: Q.11.76 6-Feb-17 21-Feb-17 Release notes 2.80 MB »
Row 7: https://h10145.www1.hpe.com/downloads/SoftwareReleases.aspx?ProductNumber=J9022A
Row 8: N.11.76 6-Feb-17 21-Feb-17 Release notes 3.11 MB »
Row 9: https://h10145.www1.hpe.com/downloads/SoftwareReleases.aspx?ProductNumber=J9147A
Row 10: W.15.14.0015 23-Mar-17 30-Mar-17 Release notes 9.16 MB »
http://imgur.com/a/V4leS这是CSV文件的屏幕截图
我还有一个为此明确目的而创建的数据库文件。它的名字是Test.db.在该数据库中,有一个名为output
的表当我运行.schema Output
时,我得到了
`CREATETABLE(输出(" https://h10145.www1.hpe.com/downloads/SoftwareReleases.aspx?ProductNumber=J4813A" TEXT);
我正在尝试使用SQLite命令行来解决此问题
`C:\Windows\System32>sqlite3 c:\source\test.db
sqlite> .separator ,
sqlite> .mode csv
sqlite> .import c:/source/output_file.csv Output`
我收到此错误消息
c:/source/output_file.csv:59: expected 1 columns but found 6 - extras ignored
每一行都会发生此错误,从1到59
我在这里缺少什么?
答案 0 :(得分:1)
您的表的架构看起来很糟糕,可能是由于滥用格式,但它看起来只有一列。
图片中的输入文件显示您有很多,
(顺便提一句,你在问题中输入的引用并没有表明。)
您使用,
作为分隔符来填充一列的表格
即sqlite在导入中看到许多列,只有一列要填充。
制作一个有六列的表格 从安全的一个开始,即六列varchar(300)。
或者,只使用输入文件中未出现的分隔符导入一列。这适用于只有一列的表。
答案 1 :(得分:0)
在这里回答我自己的问题:
我用来导入的CSV格式不正确。我用1列和一个特定的标题字段重新创建它,它没有问题
感谢Yunnosch的指导