Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

​Читаем CSV...

11.06.19 11:49
​Читаем CSV...
 
Murr патриот
Murr

Читаем CSV...


Это так - посмеятся...


Есть спецификация CSV и есть договоренность об том, что клиент будет поставлять данные в CSV -файлах.


У мелкомягких в Висуал Васике есть CSV-реадер.

Там, конечно, мелкомягкий вариант, но основную работу по чтению/нарезке и распаковке полей он делает.

Остальное уже можно подкрутить ручками...


Теперь основные проблемные моменты:


1. Вместо CSV-файла присылается Excel-файл.

Простенько и со вкусом - отредактировали в ехцеле, кликнули - отправить... ну а на нашей стороне надо разбираться - ексел то его открывает без проблем, а вот реадер - обламывается...

Починить на нашей стороне - можно, но довольно неприятно. Неприятность в основном в том, что получаются два разных формата одного документа и оба надо суппортить.

Не чиню - оператор запрашивает файл в правильном формате.


2. Количество запятых в заголовке не соответствует количеству запятых в данных.

Ну это понятное дело - тамошний прогер спецификацию на CSV в глаза не видел, но будет доказывать что его код работает правильно.

Починить тамошнего прогера - нереально. Реадер мелкомягких - работает, но количество возвращаемых полей не контролируется.

Так что на нашей стороне код адаптируется под чтение данных с разным количеством полей.


3. Второй заголовок в теле документа.

Выглядит так, что кто-то настраивал репорт и установил постраничный режим.

Вот так - по-странично - и выплевываются данные в файлик. С заголовками на каждой странице... но в сплошном документе,

Реадер мелкомягких вполне нормально читает второй заголовок... как строку данных.

Снова адаптируется код на нашей стороне.


4. Количество запятых в первом и последующем заголовках не совпадает.

Ну это такой пустячек... правда прогер клиента слегка подвисает от вопроса почему заголовки не совпадают, но это его не подвигает прочесть спецификацию.

Так же как и 3. - решается у нас по месту.


5. Пустые строки.

Обычно - в конце файла. Но может быть и в начеле, и в средине, Просто кто-то просматривал/правил файл и по случаю в пару-тройку раз нажал Ентер.

Не помню как реагирует мелкомягкий реадер - вроде возвращает строку с одним полем - но данных в любом случае там нет.

Опять - чинится у меня.


6. Куча строк без данных в документе.

Как это можно получить предстваляю плохо. Выглядит - нормально - строка с правильным - т.е. -1/+2 - количеством запятых.

Никаких данных между запятыми не наблюдается. Просто строка из запятых.

Ужас данной ситуации в том, что нашего оператора невозможно обучить распознаванию ситуации - в Екселе все выглядит прилично, никаких буковок на месте цифирек не имеется.

Но, как обычно, чинится на нашей стороне.


Можно, конечно и плакать над уровнем квалификации используемых прогеров, но... Я - не плачу, Я никогда не плачу, есть у меня другие интересы...


А вообще - интересует - Что еще можно сделать неправильно в экспорте данных в CSV-формате?

Я бы переписал реадер и позабыл об проблемах...

 

Перейти на