linux - 在 Linux 中,是否有将 CSV 文件转换为 SQLite 文件的命令?

标签 linux command-line csv sqlite

是否有将 CSV 文件转换为 SQLite 数据库的 Linux 命令,有时像:

csv2sqlite input.csv output.sqlite [optional_table_schema]

或者 sqlite3 是否有可以执行此操作的命令行选项?

(我写了一些代码来处理/清理一些文本文件。最后,我可能会调用将 CSV 文件转换为 SQLite 数据库。)

最佳答案

如果您的 csv 非常简单(没有引号、转义等),您可以使用 sqlite shell 导入它:

http://www.sqlite.org/cvstrac/wiki?p=ImportingFiles

编辑:但它可能不是,所以我认为您需要先转换文件。如果您的 csv 文件没有 ascii 双引号或换行符,您可以将其转换为 sqlite 可以使用此命令导入的文件:

csvtool -u '`' cat csv.csv

(用一些不在你的数据中的字符替换上面的`)

这会从周围有双引号的字段中删除引号。 csvtool 似乎并不擅长转义。它没有任何我可以看到的关于处理转义的选项,以及其中包含 "的任何字段,它只是保留原样,并带有引号。

无论如何,您可以使用上面的链接了解如何导入到 sqlite。只需确保设置相同的分隔符

关于linux - 在 Linux 中,是否有将 CSV 文件转换为 SQLite 文件的命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4924699/

相关文章:

java - 如何将 JTable 数据导出到 CSV 文件

c++ - 将套接字绑定(bind)到非临时端口范围内的空闲端口

linux - 如何在不重新写入整个文件的情况下更改文件中的一个字符?

http - 在服务器上创建文件的 CURL 命令

java - 如何使用命令行部署EJB 3.0?

python - Pandas DataFrame 操作和转换

Python Pandas 比较 CSV keyerror

linux - Linux 上的 Ogre3D 错误

linux - 用另一个字符替换字符串中包含特殊字符的子字符串

windows - 为 Windows 编写控制台样式应用程序的好资源?