Задача #1 - Парсинг CSV
DilyaSoft📄 Задача: написать приложение для парсинга текста в CSV формате
📝 Функционал:
Консольное приложение (C# .Net) получает адрес файла в качестве параметра и читает его.
Пример: app.exe /in="C:\folder\file.csv"
Файл содержит текст в CSV формате: разделителем столбцов является запятая - ",". Все, что обрамляется двойными кавычками, является текстом, даже при наличии внутри запятых.
Пример входных данных https://goo.gl/ESsV21
Приложение парсит данные и выводит их в консоль (без кавычек и запятых-разделителей). Пример:
January 21, 1996 | JDK 1.0 | The first public release
February 19, 1997 | JDK 1.1 | JavaBeans, JDBC, RMI, reflection
➕ Дополнительный функционал:
Данные при выводе в консоль должны быть отсортированы* по выбранной колонке. Номер колонки передается параметром при запуске (от 1 до N, где N номер последней колонки):
Пример: app.exe /in="C:\folder\file.csv" /sort=3
Вывод
February 19, 1997 | JDK 1.1 | JavaBeans, JDBC, RMI, reflection
January 21, 1996 | JDK 1.0 | The first public release
*Сортировка идет в порядке 0-9, A-Z
📌 Заметки
Нужно учитывать, что входные данные не всегда будут в идеальном формате (как в примере). То есть могут встретиться 3 кавычки подряд или строка без запятых. Программа не должна падать ни при каком варианте. Если распарсить невозможно, то выдавать сообщение об этом.
🚫 НЕЛЬЗЯ использовать сторонние библиотеки для парсинга CSV