Перейти к содержанию
    

Написать библиотеку для Python 3.7

Ищу начинающего специалиста, для создания библиотеки на паитон 3,7. Объем входящих данных порядка до 1 гб. Сами данные берутся с диска.  Задача библиотеки преобразовать данные из  16 -ричного формата в десятичный.  На выходе я должен получить в зависимости от заданного метода, либо последовательность str, последовательность int , либо массив str, массив int, либо последовательность массивов, либо все преобразованное сохранить в папке.  Описание  формата входящих данных прикладываю. там же пример преобразования,  16 - 10.  

https://yadi.sk/d/nvDcJdHiEN2muA    15 мБ 

 

3.500 руб. срок два дня 

описалово.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если на С? Делов-то немного, можно и за полдня управиться...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не..си не надо. Я в нем меньше понимаю, точнее 0..) Мне потом эту библиотеку надо с паитоном использовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты


class EcgReader:

    def __init__(self, settings_name: str, data_name: str):
        with open(settings_name, 'rb') as f:
            d = f.read()
            params = d[50:53]
            self.channels = params[0]
            self.accel_present = (params[1] != 0)
            self.block_size = params[2]
        self.data_file = open(data_name, 'rb')
        self.idx = 0

    def read(self):
        res = []
        for _ in range(self.channels):
            d = self.data_file.read(3)
            if len(d) != 3:
                return None      # eof

            # данные согласно файлу "описалово"
            # num = (d[0] * 0x10000) + (d[1] * 0x100) + d[2]

            # данные согласно примеру
            num = (d[2] * 0x10000) + (d[1] * 0x100) + d[0]

            if num >= 0x800000:
                num -= 0x1000000

            res.append(num)

        # skip accelerometer data
        self.idx += 1
        if self.idx == self.block_size:
            if self.accel_present:
                self.data_file.read(4)
            self.idx = 0

        return res


# some tests
if __name__ == '__main__':
    reader = EcgReader('000_ecg.crd', '000_ecg.bin')
    print('settings:', reader.channels, reader.accel_present, reader.block_size)

    for _ in range(10):
    # while True:
        d = reader.read()
        if d is None: break
        print(d)

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...