Многие ответы на этой странице являются слабыми, потому что они не обрабатывают общий случай того, что может происходить в формате CSV. например запятые и кавычки, встроенные в поля и другие условия, которые всегда появляются в конце концов. Нам нужно общее решение, которое работает для всех допустимых входных данных CSV.
Вот простое и сильное решение в Python:
#!/usr/bin/env python
import csv
import sys
tab_in = csv.reader(sys.stdin, dialect=csv.excel_tab)
comma_out = csv.writer(sys.stdout, dialect=csv.excel)
for row in tab_in:
comma_out.writerow(row)
Назовите этот файл tab2csv
, поместите его в свой путь, дайте ему разрешение на выполнение, затем используйте его, перечислите это:
mysql OTHER_OPTIONS --batch --execute='select * from whatever;' | tab2csv >outfile.csv
Функции обработки CSV в Python охватывают угловые случаи для формата (ов) ввода CSV.
Это может быть улучшено для обработки очень больших файлов с помощью потокового подхода.