Формат CSV не так прост, как кажется. Формально это просто табличка: столбцы разделены запятыми.
А вот при попытке с ним поработать начинается веселье:
А вот при попытке с ним поработать начинается веселье:
- Точку в десятичных числах, чтобы разделить разряды, ставят только англосаксы и программисты. Некоторые другие народы могут разделять их запятыми. Американское 10,000,000.03 - это русское 10.000.000,03. И если в системе установлена другая система представления чисел, то Excel сохранит файл, разделив столбцы точками с запятой. Хотя диалог сохранения в Excel будет по прежнему уверять, что сохраняет с запятыми как разделителями
- CSV - не UNICODE, и по умолчанию сохраняется в текущей кодировке системы.
- В первой строке - как правило, не данные, а названия столбцов.
Поэтому на C# такие файлы положено читать специальной библиотекой. Текущая версия есть в NUnit, а где-то в версии 3.0 вернутся и атрибуты для маппинга, которые я прикрутил обратно в своём форке.