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

Нужно написать десктопную программу ( с внятным интерфейсом для простого пользователя) для поиска одного товара (по артикулу или артикул + бренд) в исходном файле и перенос его цены (или другой информации из заданного столбца(цов) в соответствующий товар в другом файле в заданные столбцы.

Т.е. берем артикул, по нему находим этот же товар в другом файле и переносим с входного файла в выходной все указанные данные, цену и другую информацию с указанных столбцов в указанные столбцы

Идентификация товара происходит по артикулу или по артикулу + бренд.

Выбор варианта идентификации задается в программе, т.е. можно просто по артикулу, а можно по артикулу + бренд

Могут быть большие файлы по 100 000 и более строк, программа должна мочь такие размеры переваривать и ни виснуть и не вешать комп!

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

На входе ексель или CSV файл ( с входного файла берем данные) - пусть это будет файл - 1 Чаще файл 1 - это будет ексель файл но иногда и CSV

Т.е. программа должна спокойно работать как с ексель так и с CSV файлами.

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

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

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

В программе должно настраиваться (задаваться) в каких столбцах артикул а в каком цена (или другие данные для переноса).

На выходе ексель или CSV файл в котором мы ищем нужный артикул (или артикул + бренд) и в указанный столбец вписываем цену (иди другу заданную информацию), если переносим информацию с нескольких столбцов,

то в настройках указывается в какие столбцы делать перенос с иходного файла

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

Поиск артикула в файле поиска (это файл -2) происходит или до конца файла, или до 1-го найденого и тогда дальше не идем.

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

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

Каждый артикул, по которому мы уже сделали поиск, мы записываем отдельно или в файл текстовый или в базу данных (лучше в базу данных, скорость в разы выше), и каждый артикул перед началом поиска проверяем, не делали ли мы по нему уже поиск,

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

Размер входящего файла (файл -1) намного меньше чем выходящего (файл -2, где мы делаем поичк), поэтому лучше перепроверять на повторы в начале, чем лишний раз пробегать 80-100 000 строк в файле поиска.

Т.е. алгоритм примерно такой (при включенной галочек "Делать проверку на повторы в входном файле"):

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

ищем в файле поиска данный артикул (ищем или по артикулу или по артикул +бренд), нашли, перенесли с 1-го файла в этот цену (или другие данные) в заданный столбец(ы) и побежали дальше до конца файла (если вариант проверки файла до конца), если опять встретили данный артикул - то опять вписали цену (или другие данные) и так до конца, если был выбран режим остановки после 1-го найденого, то останаливаемся при нахождении 1 артикула.

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

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

искать этот артикул (или артикул +бренд), нашли, перенесли цену (и другие данные если задан перенос нескольких столбцов) в указанный столбец(ы) и побежали до конца файла, дошли до конца, записали этот артикул в базу и пошли в исходный файл за следующим артикулом...

и так пока не будут проверены все артикулы с входящего файла.

Артикулы которые не были найдены в файле поиска записываем отдельно в текстовик.

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

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

Бюджет до 600 рублей.

10 лет назад
Alex_Sn
44 годаУкраина
12 лет в сервисе
Был
6 лет назад
  • Похожие заказы
  • $5

    Есть такого типа координаты: Изменить Удалить 1004163 dostoprim 48°10'5.91''N, 23°3'6.85''E 0.01 Изменить Удалить 1004164 dostoprim 50°50'40.27''N, 32°22'38.46''E 0.01 Изменить Удалить 1004165 dostoprim 46°37'35.76''N, 32°42'20.09''E 0.01 Изменить Удалить 1004166 dostoprim 46°57'12.93''N, 33°36'28.47''E 0.01 Изменить Удалить 1004167 dostoprim 49°45'17.7''N, 31°27'53.88''E 0.01 Изменить Удалить 1004168 dostoprim 45°30'54.87''N, 29°36'18.77''E 0.01 Изменить Удалить 1004169 dostoprim 46°30'34.6''N, 32°36'25.62''E 0.01 ...

    Прикладное ПО1 исполнитель
    Завершен
    10 лет назад
  • $15

    Необходимо собрать ffmpeg c исходников на Win7 x64, чтобы поддерживались стандартные кодеки и если не входят в пакет то дополнительно следующие (mpeg4, libx264, libtheora, libvorbis, libvpx, libmp3lame и libfdk_aac). Собрать необходимо удаленно через TeamViewer9 так ...

    Закрыт
    10 лет назад
  • $500

    Требуется специалист по работе с MAC OS X. Желателен опыт в установке ПО Обязательно знание английского языка, на уровне чтения документации. Умение работать и наличие jabber. ЗП - 500 WMZ Обязательно: наличие высоко-скоростного Интернета. ...

    Закрыт
    10 лет назад
  • надо сделать на любом языке программу, которая 1.ищет вхождение заранее заданной последовательности символов в текстовом файле. 2. ишет вхождение всех перестановок букв в заданной последовательности символов в строках из текстового файла. в текстовом файле со строками: на 1 ...

    Прикладное ПО1 исполнитель
    Завершен
    10 лет назад
  • $7

    Имеется точка А(Тверь) с координатами 35.88555521 56.86302749 точка B(Москва) с координатами 37.59942239 55.75781339 точка C(Дубна) 37.15996927 56.73644158 Известны все расстояния AB 161км, AC 79м, BC 109км, CD 47км Необходимо вычислить координаты точки D(точка соприкосновения перпендикуляра от точкиC к отрезку ...

    Прикладное ПО1 исполнитель
    Завершен
    10 лет назад
  • $500

    1. Программа должна загружаться автоматически при включении ноутбука, исключая или скрывая стандартную схему загрузки Windows. То есть не должен открываться рабочий стол, и т.д. 2. После загрузки программы видим «первый экран» – рис.1. 3. При введении неверного пароля на экран ...

    Закрыт
    10 лет назад