Задача #1 - Парсинг CSV

Задача #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

Report Page