【问题标题】:.import csv is miscounting columns.import csv 列数错误
【发布时间】:2017-09-14 14:47:30
【问题描述】:

我有一个包含 236 列的表,我正在使用 .import 语句填充该表。我不断收到“预期 236 列,发现 0”错误。最后 6 列是空的,我认为这可能是问题所在,我在每个字段中插入了 NULL,但数据仍然不会导入到表中,尽管错误消息确实略有变化“预期 236 列,找到 237”。

我尝试将模式指定为 csv,但没有帮助。

如何让 .import 函数正确计算列数?

我在 Linux 工作站上使用 sqlite3。

【问题讨论】:

    标签: linux csv import sqlite


    【解决方案1】:

    我在每个字段中插入了 NULL,但数据仍然不会导入到表中,尽管错误消息确实略有变化“预期 236 列,找到 237”。

    您的数据中有逗号吗?例如,不是用作分隔符的逗号,而是行数据中的逗号?

    听起来你的数据中的逗号正在添加一个额外的列,而实际上不应该有一个。

    【讨论】:

    • 是的,一些数据中有逗号,但那些特定的数据用引号括起来,所以我认为逗号被忽略了。
    • 我看到你的数据中有一个额外的列的唯一方法是你在某处有一个额外的逗号。也许尝试用逗号以外的东西分隔?
    • 我确实尝试使用管道作为分隔符,但得到了相同的结果。
    • 因此,双引号似乎导致了问题。一旦我删除了它们(以及该字段中的逗号),我就可以导入记录。是否有模式设置或我可以更改的东西,以便 SQLite 理解为什么会有引号?创建插入语句时我没有遇到此错误(通常每个字段的数据都用双引号括起来)。
    猜你喜欢
    • 1970-01-01
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    • 2019-06-14
    • 2012-06-22
    相关资源
    最近更新 更多