我有一些仅包含普通文本的简单文本文件。
我想知道是否有一种方法可以将文本内容加载到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'"