我有一些仅包含普通文本的简单文本文件。

我想知道是否有一种方法可以将文本内容加载到sqlite中的表中。

所以也许我可以创建表myTable(nameOfText TEXT,contents TEXT);

然后将文本名称放入第一列,将内容放入第二列。

如果很难输入文件名,则将内容加载到一个列表中也可以。

任何建议,将不胜感激。

谢谢 !!

最佳答案

termsql是一种工具,可以将文件中的文本或程序(stdin)的输出即时转换为sqlite数据库。

termsql -c nameOfText,contents -i input.txt -o myDB.db

这将创建一个具有nameOfText和contents列的表。对于input.txt中的每一行
一行将插入到myDB.db中。

您没有告诉我们有关定界符nameOfText的信息,上下文之间是用分隔符分隔的。经过
默认termsql假定空白是定界符。但是例如它应该是“”
那么您将执行以下操作:
termsql -d ',' -c nameOfText,contents -i input.txt -o myDB.db

您可以在此处获取termsql:
https://github.com/tobimensch/termsql

Termsql还有其他用例。您可以在一个命令中对新数据库执行SQL语句。
以下示例将创建您的数据库,并在命令行中针对目录行包含字符串“test”的所有行返回nameOfText列。
termsql -d ',' -c nameOfText,contents -i input.txt -o myDB.db "select nameOfText from tbl where contents like '%test'"

10-05 17:42