【问题标题】:SQLITE: import data from a CSVSQLITE:从 CSV 导入数据
【发布时间】:2017-04-10 16:09:45
【问题描述】:

我需要在 SQLITE 数据库中导入一个使用数字而不是字符串的 CSV 文件:这里是一个示例 ..

col_1|col_2|col_3
10|text2|http://www.google.com

对于导入,我使用 Spatialite GUI,因为我还必须管理空间数据:导入时一切正常,但当我尝试选择数据时

select * from test;

如何构建我的 CSV 文件来存储我的“text2”字符串?

【问题讨论】:

  • 您使用的是什么 SpatiaLite GUI 版本?
  • 在我的“spatialite_gui 2.0.0-devel”中有“导入 CSV/TXT”。

标签: csv import sqlite spatialite


【解决方案1】:

我已经用不同的方式解决了......

进入 Sqlite 并给出以下命令:

CREATE TABLE ps_details(
  col_1 TEXT,
  col_2 TEXT,
  col_3 TEXT
);
.mode csv
.separator |
.import test.csv test
.quit

您可以将其保存在一个文件中(例如 test.txt),然后在另一个名为 test.sh 的文件中写入

sqlite3 dbtest.sqlite < test.txt

保存并更改其权限(chmod 777),然后从命令行启动它

./test.sh

这将在您的dbtest.sqlite 获取数据表单test.csv 文件中创建一个表test

【讨论】:

    【解决方案2】:

    您似乎将col_2 的类型定义为REAL,它应该是TEXT

    你的 CSV 结构看起来不错。

    免责声明:我从未使用过 Spatialite,这只是从您提供的信息来看。

    【讨论】:

    • 在导入中我没有定义我的列的类型......它似乎将类型固定为 REAL 或其他东西,而不是我想的文本
    • SQLite 忽略列类型,它们只是为了兼容性。你也可以跳过它们。
    猜你喜欢
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 2017-10-28
    • 2021-04-12
    • 1970-01-01
    • 2021-03-05
    • 2018-11-28
    • 2018-08-26
    相关资源
    最近更新 更多