Я пытаюсь разобрать файл CSV в 2d массив, где каждая строка представляет собой запись данных, а каждый столбец представляет собой поле в этой записи.
Выполнение всего этого за один раз упрощает и отделяет мой код обработки от моего кода синтаксического анализа.
Я попытался написать простой парсер, который использовал String.Split
для разделения файлов запятыми. Это ужасный подход, как я обнаружил. Он полностью не может анализировать любые особые случаи, такие как двойные кавычки, переводы строки и другие специальные символы.
Как правильно разбирать файл CSV в 2d массив, как я описал?
Примеры кода на Java приветствуются.
Массив может быть объектом динамического списка, вектором или чем-то в этом роде, его просто нужно проиндексировать двумя индексаторами.