sqlite3 не использует символ конца строки при импорте данных

У меня есть файл с разделителями табуляции, который я пытаюсь загрузить в таблицу. Таблица уже создана и структурирована соответствующим образом, проблема в том, что SQLite3 объединяет последнее значение в одной строке с первым значением в следующей строке.

Таким образом, для файла, где последней строкой был SomeText, а следующая строка начинается с 12345, импортируемое значение равно SomeText12345.

Сейчас я использую следующую команду:

.разделитель "\t";

.import MyFile.tsv MyTable

Любые идеи, как я могу загрузить данные, распознавая конец строки?


person Meister1867    schedule 03.09.2018    source источник
comment
На какой ОС установлена ​​ваша база данных? А на какой ОС вы создавали MyFile.tsv?   -  person Amadan    schedule 04.09.2018
comment
Похоже, вы скопировали файл из ОС с другим соглашением о новой строке. Если вы копируете из Windows в Linux, используйте dos2unix, чтобы исправить это.   -  person Barmar    schedule 04.09.2018
comment
Я сохранил файл как файл с разделителями табуляции из Excel. Затем я попытался загрузить его в Sqlite3 на той же машине.   -  person Meister1867    schedule 05.09.2018


Ответы (1)


Я заметил ту же проблему. Я всегда подозревал, что это связано с тем, что последнее значение в файле, разделенном табуляцией, имеет тип TEXT. Небольшой анализ стека обнаружил этот пост, в котором второй ответ говорит:

На самом деле существует специальный режим для импорта файлов, разделенных табуляцией:

sqlite> .mode tabs
sqlite> .import MyFile.tsv MyTable
person DinoCoderSaurus    schedule 07.09.2018