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

​Читаем CSV...

742  1 2 все
Murr патриот11.06.19 11:49
Murr
11.06.19 11:49 

Читаем CSV...


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


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


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

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

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


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


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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

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


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

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

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

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

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


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


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

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


#1 
dArtagnan постоялец11.06.19 12:20
dArtagnan
NEW 11.06.19 12:20 
в ответ Murr 11.06.19 11:49, Последний раз изменено 11.06.19 12:24 (dArtagnan)
Что еще можно сделать неправильно в экспорте данных в CSV-формате?

Все.

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

Так перепиши и забудь.


Я читаю ексельные файлы в R/Origin (и поточно, и одиночными файлами, и с простой и со сложной структурой), если в файле проблема, затрудняющая его автоматическое прочтение - ставлю на уши того,... предметно беседую с тем, кто ответственен за генерацию этого файла(-ов). Уже пару лет как все проблемы с обменом данными прекратились после поиска взаимоприемлемого решения. ИМХО, нельзя предусмотреть все возможные глюки в файлах данных, если нет достаточной культуры их генерации. Если хоть где-то процесс ввода данных неавтоматизирован или не загнан в шаблоны с валидацией - все, пиши пропало. Фантазия людская границ не знает - иногда при анализе данных приходится сначала устранять ошибки, ну, например, фамилию оператора вводили 13ю (!!) разными способами, а мне как раз надо смотреть, кто из операторов чаще всего косячил за последние месяцы. Объяснил, норот понял, сделали табличку операторов, автоматический выбор по логину и все. А монстрить высокоинтеллектуальный ридер, ИМХО, не стоит затраченных усилий. Проще договориться о темплейтах и валидации, сделать качественную "морду" для ввода данных. Но, конечно, вольному воля. Безумству храбрых поем мы песню... (с)


ЗЫ. Добавлю - можешь глянуть, как имплементировано чтение xls/xlsx в R (исходники функций всегда доступны). Не уверен, что это сделает твою жизнь легче, но с чем черт не шутит, вдруг наткнешься на какие-то идеи. Код там вполне понятный, сильно голову ломать не надо. ИМХО, конечно. Впрочем, это я так, для очистки совести. Понимаю, что желания лезть в малознакомый код особо не возникнет.

#2 
Murr патриот11.06.19 12:51
Murr
NEW 11.06.19 12:51 
в ответ dArtagnan 11.06.19 12:20, Последний раз изменено 11.06.19 12:53 (Murr)

Так перепиши и забудь.

------

Для этого надо собрать все возможные ошибки.

Бо, править читалку под каждый баг Я могу и сейчас...


предметно беседую с тем, кто ответственен за генерацию

-----

Мне сие не разрешено.


фамилию оператора вводили 13ю (!!) разными способами

------

Ну это вообще фигня - у меня в выдаваемых государствием документах - паспорте, ИД, вод.правах - фамилия написана 4-мя разными способами.

В одной только переведенной копии свидетельства о рождении есть три различных написаниия фамилии.

И, что характерно, все написания соответствуют законам... и ни одно не соответствует фамилии родителей.


Проще договориться о темплейтах и валидации, сделать качественную "морду" для ввода данных.

-----

ЗА-ПРЕ-ЩЕ-НО.

Максимум, что Я мог сделать - послать прогеру ссыль на RFC по CSV.

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


можешь глянуть, как имплементировано чтение xls/xlsx

-----

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

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


Тут же вопрос об CSV.


#3 
dArtagnan постоялец11.06.19 14:02
dArtagnan
NEW 11.06.19 14:02 
в ответ Murr 11.06.19 12:51
Для этого надо собрать все возможные ошибки.

Нереально. Но ты можешь включить фантазию и, не исключено, составишь список наиболее частых. Всех - "эт вряд ли" (с) Т-щ Сухов.

Ну это вообще фигня

Фигня, конечно, пока не нужно генерировать pivot-таблицу (ну, или аналог).

ЗА-ПРЕ-ЩЕ-НО.

"Ты же коммунист, Сидоров!" (с) Подними восстание. Rage Against Erroneous Input. Найди подход. Ну, или страдай/наслаждайся (можно одновременно) написанием высокоинтеллектуального анализатора содержимого.

Тут же вопрос об CSV.

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

#4 
Murr патриот11.06.19 15:34
Murr
NEW 11.06.19 15:34 
в ответ dArtagnan 11.06.19 14:02

Нереально.

------

Угу... но - надо.

Пока для каждого клиента пишется реадер со своими заморочками...

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


Фигня, конечно, пока не нужно генерировать pivot-таблицу

-----

Не-е... таблица - точно полная фигня...

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

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

А таблица - фииии...



Найди подход.

-----

Не-а... Клиент - важный. Да, прогер у них совсем никакой, но заказов от них много и заказы достаточно дорогие.

Так что - пИсать, пИсать и еще раз пИсать кипятком на форумах, а потом садится и писАть...



Наверняка внутре одинаково

-----

В Екселе - проблемнее. Он слишком много делает не явно.

А с текстовым файлом Я вполне управлюсь... хоть построчно, хоть массивом...


Тут как-то появился клиент, который "решил" (точнее - не способен на другое) присылать файл с каким-то отчетом в ХМЛ.

Отчет можно смотреть только каким-то дервним вьювером, который есть у него и который уже 100 лет как не поддерживается(?).

Читалки - нет, описания формата - нет, какой-либо информации на форумах - нет...

Ну и что? Читаю... поковырять пришлось, де-сериализатор слепить и немного логики... Все встало по местам и работает на ять.



#5 
dArtagnan постоялец11.06.19 15:52
dArtagnan
NEW 11.06.19 15:52 
в ответ Murr 11.06.19 15:34

Ну, тогда страдай, познавая безграничность человеческих ошибок. У меня нет сомнений, что такому мазохисту, как ты, это доставит массу удовольствия. А еще ты сможешь неоднократно поныть на эту тему. И задрать лапу на M$.

#6 
Murr патриот12.06.19 11:12
Murr
NEW 12.06.19 11:12 
в ответ dArtagnan 11.06.19 15:52
А еще ты сможешь неоднократно поныть на эту тему.

------

А как еще перерывы в кодинге делать и негатив в позитив переводить? улыб


Да, починил последнюю из глупостей со строками из запятых... (см. ниже)


И задрать лапу на M$.

-----

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


#7 
Murr патриот12.06.19 13:27
Murr
NEW 12.06.19 13:27 
в ответ Murr 12.06.19 11:12

Ну вот - починили...

Блин... обшлось, как оказалось, без билли... признаю - чистейший поклеп и напраслину возвел...

первое - поменяли локальные ДНС-сервера, а на ВМке остались прописаны старые... ну понятно - он не в домене и в оффлайне...

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


Пых... таки починили... до следующего аврала...

#8 
AlexOtt местный житель12.06.19 13:29
AlexOtt
NEW 12.06.19 13:29 
в ответ Murr 11.06.19 12:51

возьми test suite из apache commons csv (https://commons.apache.org/proper/commons-csv/) и не парься - у них должны быть всякие варианты файлов. или из питона, или из любой другой библиотеки...


#9 
NachDeutschland коренной житель12.06.19 13:46
NachDeutschland
NEW 12.06.19 13:46 
в ответ Murr 11.06.19 11:49

Классика: автоматизация бардака дает автоматизированный бардак. Символы всякие забавные могут там еще быть, перепутанные кириллица и латиница.


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

Что совой об пень, что пнём об сову.
#10 
Murr патриот12.06.19 13:47
Murr
NEW 12.06.19 13:47 
в ответ AlexOtt 12.06.19 13:29

Не нашел упоминания об test suite.

Прямой линк на страничку с доками/довнлоадом можно попросить?


И... кажется ты не совсем понимаешь проблему - мне присылают файлы называемые ЦСВ, но не соответствующие спецификации.

Второе - жабья версия только добавит проблем...

#11 
Murr патриот12.06.19 13:54
Murr
NEW 12.06.19 13:54 
в ответ NachDeutschland 12.06.19 13:46

Клиентские прогеры неплохо чинятся

-----

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

Ибо починка клиентского прогера ведет к дискомфорту последнего и передаче (части) заказов другому производителю.

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

Прикинула? Починяешь? Ну вот то-то...


чтобы вам присылали что-то более-менее потребное?

-----

Присылка потребного - оговорена - должны присылать CSV.

Ну а что именно присылают - описано выше.


#12 
NachDeutschland коренной житель12.06.19 14:04
NachDeutschland
NEW 12.06.19 14:04 
в ответ Murr 12.06.19 13:54
На производстве клиентские прогеры не чинятся. Особенно - прогеры крупных клиентов.

Мой текущий клиент - ДАХ30, производство. Прекрасно чинятся, медленно, но это уже не мои сложности. Клиентом нашей фирмы являются уже лет 10 как точно.

Что совой об пень, что пнём об сову.
#13 
Murr патриот12.06.19 14:06
Murr
NEW 12.06.19 14:06 
в ответ AlexOtt 12.06.19 13:29

Чтобы было понятнее об чем речь - фрагмент CSV:

B,P7833,02/07/15,KW,08,F464542,08/07/15,
H,NR1867AT,1, ,N,,P7833-001,02:WTN-NR1867AT/R26/001,
G,A1,GM4002,LOW IRON 4MM CLEAR,20,GE4075,Ev Low E Soft Coat,0, , ,B,SUES+,469,0,0,199,0,0,0,0,0,N,0,0,0,N,W,0,,0, , ,, ,N,,02:WTN-NR1867AT/R26/001/A1,
G,A2,GB4502,LOW IRON TG CLEAR,20,GF4575,Ev LowE SftCoat tg,0, , ,B,SUES+,469,0,0,634,0,0,0,0,0,N,0,0,0,N,W,0,,0, , ,, ,N,,02:WTN-NR1867AT/R26/001/A2,
G,B1,GB4502,LOW IRON TG CLEAR,20,GF4575,Ev LowE SftCoat tg,0, , ,B,SUES+,1118,0,0,1057,0,0,0,0,0,N,0,0,0,N,W,0,,0, , ,, ,N,,02:WTN-NR1867AT/R26/001/B1,

Эти 5 строк есть ОДНА CSV-запись.

Для полного комфорта - строк, начинающихся с "G", может быть от одной до трех.

Сколько ДРУГИХ строк может присутствовать - Я до сих пор не знаю.безум


#14 
Murr патриот12.06.19 14:07
Murr
NEW 12.06.19 14:07 
в ответ NachDeutschland 12.06.19 14:04, Последний раз изменено 12.06.19 14:10 (Murr)

Мой текущий клиент - ДАХ30, производство.

-----

Именно - чинится там где производится, а не там откуда заказывается...

Хотя мелочь, которую не жалко потерять, можно попробовать чинить и и заказчика...

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

#15 
AlexOtt местный житель13.06.19 15:18
AlexOtt
NEW 13.06.19 15:18 
в ответ Murr 12.06.19 14:06

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

просто надо разбить на два этапа - парсинг CSV, и формирование из распарсенных данных логических записей - для второй части - обычная state machine...

#16 
Murr патриот13.06.19 17:32
Murr
NEW 13.06.19 17:32 
в ответ AlexOtt 13.06.19 15:18
я думаю что ты путаешь

-----

Я тако буду иметь желание настаивать на том, что Я имею возможность понимать и предоставлять информацию достаточно правильно.


это 5 CSV записей

-----

А ничего что по РФЦ ЦСВ - "плоский" файл? улыб


на два этапа

------

Ну так и сделано.

Но проблема в том, что это не ЦСВ-источник.

Хорошо еще, что у меня было достаточно времени, чтобы, несмотря на клятвенные заверения в ЦСВ-тости источников, изначально делать отдельные реадеры и конверторы под каждого из клиентов . Ну да - муторно, но хоть как-то унифицированно и работает. спок


#17 
evgher местный житель15.06.19 22:57
evgher
NEW 15.06.19 22:57 
в ответ Murr 11.06.19 11:49

А если открыть ексель и сохранить файлик в CSV формате?

Тогда он будет уже читабельным.


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

для нормирования столбцов. На скорую руку можно написать в питоне. Все ошибки твой скрипт исправит за считанные секунды.


Ошибки самих данных никак не исправить - тогда можно начинать самому данные писать.


Потом, после нормирования - не знаю пользуетесь вы этим или нет - есть возможность импортировать данные в

одну комманду в постгрез.


И оттуда делать с данными что душа пожелает.


#18 
AlexNek патриот15.06.19 23:50
AlexNek
NEW 15.06.19 23:50 
в ответ Murr 12.06.19 13:54
Присылка потребного - оговорена - должны присылать CSV.

ну тогда нужно "бить" того кто договаривался. Это слишком общее описание. Должен быть оговорен точный формат данных.

А так будешь постоянно править реадер да и еще неизвестно - правильно ли интерпретируешь результат.

Можно еще попытать узнать каким способом они получают присылаемый вам файл? Может есть какой то "оригинальный" формат.

#19 
Murr патриот17.06.19 10:27
Murr
NEW 17.06.19 10:27 
в ответ evgher 15.06.19 22:57
А если открыть ексель и сохранить файлик в CSV формате?

-----

Для этого нужно обучить оператора способу определения того, что файл в ехцел-формате.

Работа у операторов довольно неприятная - тупая, ответственная и малооплачиваемая.

Операторы - именно такой квалификации и там мало кто задерживается дольше пары месяцев.

Соответственно - обучать надо регулярно... А мне оно нужно?


Напиши какой-нибудь препроцессор

-----

Так и делается.

Под каждого клиента/документ - свой, отдельный считыватель исходного документа.

Но это - лишний, по сравнению с обработкой корректного ЦСВ, код.


есть возможность импортировать данные в одну комманду в постгрез.

-----

Уууу... как мне было бы хорошо, если бы можно было пошуршать данными и потом закинуть их в базу...

Есть целая и довольно сложная система обработки.

Для нее готовится файл в определенном формате. Точнее - в одном из десятка+ форматов.

Последняя известная спецификация имеет номер 18 (и в спеках есть ошибки).

При импорте данных происходит проверка допустимости данных и крутой персчет разных цифирек.

Всех деталей персчета Я не знаю - мое дело - подготовить файлик для импорта.


Причем фабрик у меня три и на одной версия не совпадает с двумя другими.

А по задачке - надо на любом рабочем месте готовить данные для любой фабрики.


И оттуда делать с данными что душа пожелает.

-----

Ну еще и миграция ожидается - будет заменена текущая версия большой системы.

Вот такая одна команда.


Ну да пустяки - по сравнению с фокусами в ЦСВ - остальное почти не напрягает. спок


#20 
Murr патриот17.06.19 10:39
Murr
NEW 17.06.19 10:39 
в ответ AlexNek 15.06.19 23:50

ну тогда нужно "бить" того кто договаривался.

-----

Ну это либо шеф, либо кто-то из менеджеров, либо кто-то из директоров.

Бум "бить"? Или просто потихоньку доработаю годик и sвалю?


Это слишком общее описание.

------

Мне этого достаточно. Проблема в том, что даже это требование не выполняется.



будешь постоянно править реадер

------

Ну так Я почти это и делаю. Вот пытаюсь пранализировать наиболее типичные ошибки

и скомпоновать один реадер для десятка клиентов - хоть чуть меньше кода надо будет

поддерживать.



Можно еще попытать узнать каким способом они получают присылаемый вам файл?

-----

Насколько Я знаю - у части клиентов есть какая-то внутреняя система заточенная под их задачи.

Из этой их системы и происходит экспорт.

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

Ни и он, по его возможностям, изучает что-там-есть и как-его-пользовать и клепает

какой-то экспорт.



Может есть какой то "оригинальный" формат.

-----

Может.

Но если Я буду интересоваться этими деталями - придется влазить глубоко в их систему.

А оно мне надо? Денег то больше не станет...





#21 
evgher местный житель17.06.19 20:02
evgher
NEW 17.06.19 20:02 
в ответ Murr 17.06.19 10:27

Если нету конкретной спецификации и формат данных в "плавающем" режиме.

Тут ничего не поделаешь.


У нас поставщики данных поставляют данные в ЦСФ. Формат практически не меняется.

Когда добавляются изменения или совсем новые данные (т. е. новые ЦСФ) просто обновляется версия Schema.sql.


Через конфиг-файл вносится дескриптор изменённой таблицы или новой таблицы и вперёд.

Очень простой процесс. Всё реадер всегда знает что он читает - потому что владеет метаданными.


Но даже если опрераторы долго не задерживаеются - может вынести все "меняющиеся" части из программы (реадера)

в прикладной конфигураторный файл (xml). Чтобы ваш реадер не зависил от "незадерживающихся" операторов.


Т. е. все изменения нужны будут только в конфигурации.


#22 
AlexNek патриот17.06.19 22:21
AlexNek
NEW 17.06.19 22:21 
в ответ Murr 17.06.19 10:39
Бум "бить"? Или просто потихоньку доработаю годик и sвалю?

Обязательно, только скобки интерпретировать не так как думаешь. спок

Просто довести до сведения, что мало того что присылают в не договорном формате, так еще и спецификация документа не определена. Из за этого ты вместо того чтобы делать полезное для предприятия вынужден постоянно корректировать программу чтения данных и при этом еще не факт, что данные интерпретируются как нужно. В итоге может получится что предприятие произведет продукцию не соответствующую потребностям заказчика. Кто будет виноват? - производитель. Желательно еще и по майлу отправить, что бы в случае чего не нашли "крайнего".


Но что то сомнения меня берут что получится через годик свалить, тебе же года два нужно что то искать чтобы подошло смущ


Из этой их системы и происходит экспорт.По слухам - прогер у них не постоянный, а под задачу нанимают кого-то.

похоже это и есть источник всех проблем вкупе с отсутствием документации на формат файла. Каждый новый иф делает новый прогер по своему.


А оно мне надо?

Тут только ты сам можешь решить, но по мне так лучше один раз влезть и забыть, чем каждый раз править реадер.

#23 
Murr патриот18.06.19 10:12
Murr
NEW 18.06.19 10:12 
в ответ evgher 17.06.19 20:02
может вынести все "меняющиеся"

-----

Они и так лежат в плугинах. Т.е. подстежкой их в программу Я уже не занимаюсь - скомпилил, залил - работает...


Всё реадер всегда знает что он читает - потому что владеет метаданными.

-----

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


Т. е. все изменения нужны будут только в конфигурации.

-----

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



#24 
Murr патриот18.06.19 10:21
Murr
NEW 18.06.19 10:21 
в ответ AlexNek 15.06.19 23:50

Должен быть оговорен точный формат данных.

-----

Эээ... как бы это по-проще сказать... наверное так: обе договаривающиеся стороны не знают и не понимают термина "точный формат данных".

Максимум, что можно объяснить - два момента:

1. машиночитаемый файлик - т.е. файлик в одном из "отрытых" форматов (не пдф, хсл и т.п.)

2. какой бы ни был формат - он будет постоянным, т.е. вносить изменения можно только до определенного момента.


И то - проблемно.

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

Читаю - "нужно красивое окно в сортир на третьем этаже". - Марка стекла? Толщина? Размеры? - Ну это мы ПОТОМ добавим, пока работайте так...

#25 
Murr патриот18.06.19 10:39
Murr
NEW 18.06.19 10:39 
в ответ AlexNek 17.06.19 22:21

В итоге может получится что предприятие произведет продукцию не соответствующую потребностям заказчика. Кто будет виноват?

-----

Абсолютно точноп - "девочка" на набивке данных.

У нее в функциях лежит сравнение подготовленной заявки и реального заказа отправляемого в производство.

И довольно часто, кстати, есть расхождения между спецификацией в ПДФке и ЦСВшкой...


Желательно еще и по майлу отправить, что бы в случае чего не нашли "крайнего".

-----

Так и делается. Только не мною. Прогер Я, а не контактер с клиентами...



тебе же года два нужно что то искать чтобы подошло

-----

Мне уже не надо ничего искать. Через 3 года, даже по последним, 1989 года, изменениям в советских законах, Я уже пенс...

так что только тем что интересно буду зниматься и то - когда здоровье позволит...



по мне так лучше один раз влезть и забыть

-----

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

Так что ну его нафиг - лучше подрихтовать реадер у себя, чем разгребать накрученное у кого-то...



чем каждый раз править реадер.

-----

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

Но унификации на уровне ЦСВ все же хотелось бы...

#26 
AlexNek патриот18.06.19 23:54
AlexNek
NEW 18.06.19 23:54 
в ответ Murr 18.06.19 10:39
Абсолютно точноп - "девочка" на набивке данных.

Ну ты вроде не на набивке и не девочка уже спок

Тогда действительно можно не переживать.


изменениям в советских законах

Не понял. А при чем советские законы к англицкому проживанию?

Ну тогда только хорошего здоровья можно пожелать, год продержаться можно и на таком заводе.

#27 
Murr патриот19.06.19 10:58
Murr
NEW 19.06.19 10:58 
в ответ AlexNek 18.06.19 23:54

А при чем советские законы к англицкому проживанию?

-----

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

Это по определению - негр - гражданин СССР, на момент оппукации латыSSами ЛССР, проживавший на территории ЛССР.

Следствие - через три года бедолагам придется обеспечивать выполнение закона СССР в области пенсионного обеспечения...

Ну по крайней мере - переслать заявку на пенсию в ближайший СОБЕС... смущ


Тогда действительно можно не переживать.

-----

Да Я и не переживаю - Я собираю возможные ошибки в ЦСВ-файлах...


#28 
koder патриот20.06.19 07:58
koder
NEW 20.06.19 07:58 
в ответ Murr 11.06.19 11:49
Что еще можно сделать неправильно в экспорте данных в CSV-формате?


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


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

#29 
Murr патриот20.06.19 11:18
Murr
NEW 20.06.19 11:18 
в ответ koder 20.06.19 07:58

получите совсем другой CSV, не как в прошлом месяце.

-----

Одна из проблем. Достаточно регулярная. Не чинится.

Но тут все просто - будет сообщени об несовпадении текущего формата с ожидаемым и девочки будут запрашивать данные в оговоренном/принятом/староm формате.

К ошибкам в ЦСВ файлах, которые можно обработать на нашем конце, отношения не имеет.


#30 
AlexNek патриот21.06.19 21:46
AlexNek
NEW 21.06.19 21:46 
в ответ Murr 19.06.19 10:58
Следствие - через три года бедолагам придется обеспечивать выполнение закона СССР

У тебя есть официальное письмо или ты так лично думаешь?

По идее никто не будет выполнять старых законов да и еще СССР.


Я собираю возможные ошибки в ЦСВ-файлах...

КАМАЗ заказал для сбора? улыб

#31 
Murr патриот23.06.19 00:11
Murr
NEW 23.06.19 00:11 
в ответ AlexNek 21.06.19 21:46

У тебя есть официальное письмо или ты так лично думаешь?

------

У меня есть письмо об том, что меня признали нелегалом.

Нелегалом ныне нельзя признать только и исключительно на территории какой-то страны ЕС - только целиком. Тем самым - снят статус негражданина латиSSатника. Ну а гражданства меня никто никогда не лишал. Местные слегка офигели от своих действий Я с ними готов общаться только в присутствии представителя свой страны. Каждый раз очень стараются убедить в том что от этого надо отказаться и каждый раз не могут предоставить документ об лишении гражданства... :)

#32 
Murr патриот23.06.19 00:12
Murr
NEW 23.06.19 00:12 
в ответ AlexNek 21.06.19 21:46

КАМАЗ заказал для сбора? улыб

------

С двумя прицепами...

#33 
AlexNek патриот23.06.19 12:46
AlexNek
NEW 23.06.19 12:46 
в ответ Murr 23.06.19 00:11
У меня есть письмо об том, что меня признали нелегалом.

ну это уже плюс. Хотя и непонятный для меня. Обычно нелегалов выдворяют из страны...

Но всё равно, берут меня большие сомнения, что в Латвии тебе что то светит. Не пробовал просто запрос отправить типа: скажить пож. сколько у мну буде пенсии? Да и сомневаюсь что Латвийская пенсия будет больше англицкой.

#34 
Murr патриот23.06.19 14:24
Murr
NEW 23.06.19 14:24 
в ответ AlexNek 23.06.19 12:46

Обычно нелегалов выдворяют из страны...

-----

...в страну имеющегося гражданства.


Не пробовал просто запрос отправить типа: скажить пож. сколько у мну буде пенсии?

-----

Два вопроса - Куда? и В качестве кого?

В латиSSатник? Так у меня ЗАПРЕТ на проф.работу. И в качестве нелегала? Ну а почему тогда не в Германию? Там хоть есть резон - происхожу с оккупированной територии...


#35 
AlexNek патриот23.06.19 14:42
AlexNek
NEW 23.06.19 14:42 
в ответ Murr 23.06.19 14:24
...в страну имеющегося гражданства.

А кто возьмет? спок


Два вопроса - Куда? и В качестве кого?

ты меня совсем запутал, если нельзя письмо написать, так как пенсию требовать? С кого и в качестве кого? шок

Трудовая книжка еся?

#36 
Murr патриот23.06.19 15:48
Murr
NEW 23.06.19 15:48 
в ответ AlexNek 23.06.19 14:42

А кто возьмет?

-----

Хи-хи... сначала нужно деоккупировать территорию и восстановить действие конституции.

Так демократия говорит.


Трудовая книжка еся?

-----

Если не сперли из запертой квартиры - еся.

#37 
AlexNek патриот23.06.19 17:53
AlexNek
NEW 23.06.19 17:53 
в ответ Murr 23.06.19 15:48
сначала нужно деоккупировать территорию и восстановить действие конституции.

думаешь через для тебя это сделают?смущ


Если не сперли из запертой квартиры

А ты уверен что у тебя есть еще квартира хаха. Довольно часто просто подпаливают.

#38 
Murr патриот23.06.19 21:51
Murr
NEW 23.06.19 21:51 
в ответ AlexNek 23.06.19 17:53

Уверен, что нет. Но Я - Кот - Я в тапок обязательно насру...

#39 
AlexNek патриот23.06.19 22:12
AlexNek
NEW 23.06.19 22:12 
в ответ Murr 23.06.19 21:51

Ну тогда успехов glassglassglass

#40 
1 2 все