【问题标题】:sqlite3 can't import .csv filesqlite3 无法导入 .csv 文件
【发布时间】:2019-01-11 05:31:24
【问题描述】:

我对 DQL 和 sqlite 非常陌生。 我创建了一个非常基本的数据库,并尝试从 .csv 文件导入数据。 我看了一个教程,输入了以下代码:

.import countries.csv countries

这会产生以下错误:

Error: cannot open "countries.csv"

我确定我在这里看起来很容易。 country.csv 是我在 excel 中制作并保存为 .csv 的文件。在文本编辑器中,它作为普通的逗号分隔值文件打开

【问题讨论】:

  • 在导入前关闭 Excel。 Excel 会锁定它以独占方式打开的文件,因此当它打开它们时,其他所有进程都会为它们“拒绝访问”。
  • 感谢您的回复,我已关闭 Excel,但仍然出现相同的错误
  • 嗯,那是不明显的事情。显而易见:使用 CSV 的绝对路径。
  • 不确定如何写绝对路径。试过了
  • the documentation。对包含空格的路径使用引号。

标签: csv sqlite


【解决方案1】:

对于任何有同样问题的人——任何包含空格的路径都需要使用引号

【讨论】:

    【解决方案2】:

    您需要使用双精度来转义反斜杠。在 Windows 上执行此操作时,我成功地在路径中使用了两个反斜杠。

    试试这个:

    sqlite> .import "C:\\working\\tmp\\data.txt" tablename
    

    【讨论】:

    • 解决了我的问题,谢谢!
    【解决方案3】:

    我尝试在 mac 上使用~/,但需要使用路径,例如/Users/me/

    【讨论】:

    • 我已经进行了替换,但它没有帮助,即使是带引号的文件名。
    • 这个替换对我有帮助,不需要引用,因为我的路径不包含空格
    猜你喜欢
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 2014-05-23
    • 2012-06-09
    相关资源
    最近更新 更多