Есть ли способ для двойных кавычек переопределить разделитель с помощью sqlite - PullRequest
1 голос
/ 07 июня 2011

Это мой sqlite-код:

create table A(A1 text, A2 text);
.separator ","
import outData.csv A

Я получаю следующее сообщение об ошибке:

outData.csv Line 4: expected 2 columns of data but found 4

Вот как выглядит строка 4:

Hallieo,"h, a, and ll"

Я понимаю, почему появляется сообщение об ошибке.Но мне было интересно, может ли кто-нибудь предложить мне способ сохранить «h, a и ll» как одну запись.Таким образом, возможность переопределить команду разделителя при наличии двойной кавычки.

Заранее благодарим за любую помощь.

1 Ответ

2 голосов
/ 07 июня 2011

Токенайзер, который разбивает строку на отдельные поля в консольной программе sqlite3, прост и не справляется с этой задачей.

Вам нужно будет написать собственную программу для построчного чтения файла, токенизации каждой строки и сохранения в базе данных. Занимательная задача, которая займет день, если вы действительно знаете свой язык программирования.

Сам я использую C ++ и для такого рода вещей использовал бы boost :: tokenizer. http://www.boost.org/doc/libs/1_46_0/libs/tokenizer/tokenizer.htm

...