2016-05-11 1 views
0

Запуск отчета о базе данных sqlite3.Опустить тип разделителя «|» в строке во время вывода SQL

Команда:

sqlite3 db.sqlite3 "select job_title, job_url, regions.region_name from job_results join regions on (regions.i_region=job_results.region_id)" > output.csv 

Это производит выходной сигнал с | и , разделителей. Вот почему иногда в первой строке, поскольку это заголовок списка, тип разделителя находится в заголовке, поэтому, когда я открываю файл с помощью LibreOffice или Excel, часть первой строки в данном столбце теперь включена второй второй и все остальные элементы отключены в этой колонке.

Мне нужно знать, как сделать файл output.csv открытым в Excel или LibreOffice, а не анализировать первую строку, потому что листер включал тип разделителя в свой заголовок. Итак, я хотел бы знать, как изменить «разделитель» или | или , символов в первой строке файла csv только для устранения этой проблемы. Я попытался использовать tr '\|' '', чтобы избавиться от этих разделителей, но он заменяет все разделители, которые мне нужно сохранить.

Спасибо!

+0

Вы не можете использовать 'As'? 'Выберите job_title As \" Job |, Title \ "', поэтому он заключен в кавычки и не будет анализироваться как разделитель? –

ответ

0

Чтобы удалить все | и , в первом ряду, вы можете направить эту СЭД в вашей sqlite3 команды:

sqlite3 db.sqlite3 "your_query" | sed '1s/[,|]//g' > output.csv 
1

Если вы хотите, чтобы удалить все | и , персонажей из первой строки файла (output.csv), используйте ниже sed команды и перенаправить вывод готового файла (finish.csv):

sed "1s/[|\,,]//g" output.csv > finish.csv 

Пример исходные данные (output.csv):

ewqweqwe|qwew,eqwe|qwew,ewqe|qweqw,wqeq| 
gggggggg|fgggggggg|ggggggggg|gsefsfsfdf| 
eqweqweq|aeweqweqw|aweewqweq|adqweqweqe| 

Пример измененные данные (finish.csv):

ewqweqweqweweqweqwewewqeqweqwwqeq 
gggggggg|fgggggggg|ggggggggg|gsefsfsfdf| 
eqweqweq|aeweqweqw|aweewqweq|adqweqweqe| 

НТН

+0

Что означает 'HTH', на StackOverflow обычно не принято подписывать ваши ответы, потому что они подписаны вашим талантом. – andlrc

+0

HTH означает« Надеюсь, что это поможет »... – tale852150

+0

Спасибо за разъяснение :-) – andlrc

0

Чтобы получить соответствующий файл CSV (даже при правильном цитировании, если какое-то поле имеет запятые), скажите sqlite3 генерировать CSV-файл:

sqlite3 -csv db.sqlite3 "select ..." > output.csv 
Смежные вопросы