|
CSV Reader
(Время: 1 сек. Память: 16 Мб Сложность: 31%)
CSV (от англ. Comma-Separated Values – значения, разделённые запятыми) – текстовый формат, предназначенный для представления табличных данных.
Описание формата:
Каждая строка файла – это одна строка таблицы. Строки не могут быть пустыми. Каждая строка заканчивается символом перевода строки.
aaa,bbb,ccc
xxx,yyy,zzz
Каждая строка содержит одну или более ячеек, разделенных запятыми. Разные строки могут содержать разное количество ячеек. Значение ячейки может быть пустым. Пробелы являются частью значения ячейки и не должны игнорироваться. После последней ячейки запятая не ставится.
aaa,a and b,bbb
aaa„ccc,ddd
Если значение содержит запятую, оно обязательно обрамляется двойными кавычками. В противном случае двойные кавычки могут отсутствовать.
aaa,"bbb","c , c"
Если обрамленное значение содержит двойные кавычки – они представляются в виде двух двойных кавычек подряд.
"aaa","a ""and"" b"
Ваша задача – написать программу, которая будет читать данные в CSV формате и выводить их на печать в отформатированном виде.
Входные данные
Входной файл INPUT.TXT имеет CSV формат и содержит не более 100 непустых строк. Каждая строка содержит не более 100 символов. Допустимые символы: строчные и прописные английские буквы, цифры, знаки препинания (точка, запятая, вопросительный и восклицательный знак, двоеточие, точка с запятой, двойные кавычки) и пробелы.
Выходные данные
В выходной файл OUTPUT.TXT выведите информацию из файла, отформатированную по следующим правилам:
- каждая строка содержит одинаковое количество ячеек. Строки могут дополняться справа необходимым количеством пустых ячеек;
- ширина каждого столбца подбирается автоматически по ширине самого длинного значения;
- остальные значения выравниваются по левому краю и дополняются справа необходимым количеством пробелов;
- разделитель между ячейками в строке – вертикальная черта «|».
Пример
№ | INPUT.TXT | OUTPUT.TXT |
1 | a,b,c,d,e
"aa",,"cc",dd
"a,a,a","b,b","c"
"a,""a"",""","a and ""b""",,a"b | a |b |c |d |e
aa | |cc|dd |
a,a,a |b,b |c | |
a,"a","|a and "b"| |a"b| |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
| |