Написать код, который будет эффективно загружать данные из excel в облачную БД

Задание закрыто
Стоимость:Договорная
Срок выполнения:5 дней
Варианты оплаты:Планируется использовать Безопасную сделку
Дата публикации:2025-03-03 22:48
Обновлено:2025-03-06 22:51
Был(а) на сайте:2025-03-07 15:45

Написать код, который будет эффективно загружать данные из excel в облачную БД

 
Задача

Есть кластер облачной БД на PostgreSQL 16, развернутый в Selectel. Нужен код, который будет эффективно переписывать данные из excel файла в БД по определенному алгоритму.

Объем данных небольшой, как и сама БД, но код должен быть рассчитан и на более высокие объемы.

Код желательно на Питоне, с небольшой консультацией по его работе.

Оставлять заявки могут только авторизованные пользователи.

Общие комментарии:

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

2025-03-06 22:54

Здравствуйте!

Я разработчик Python с опытом работы с PostgreSQL и обработкой данных из Excel. Готов выполнить ваш проект, обеспечив:

Эффективную загрузку данных в PostgreSQL с учетом возможного роста объема.
Батчевую обработку для повышения производительности.
Гибкий алгоритм обновления – вставка новых записей и обновление существующих по заданным условиям.
Оптимизированные запросы (возможность использования COPY или ON CONFLICT UPDATE для ускорения работы).
Есть опыт работы с облачными БД, включая Selectel. Готов обсудить детали и предложить наилучшее решение под ваши задачи.

Буду рад сотрудничеству!

С уважением,
Егор
Здравствуйте, Артем, готов обсудить детали проекта. Опыт есть!

Жду Вашего ответа!
---------------------------------------
Telegram - @ab_damirr

WhatsApp- +79172088852

Почта - freelancedamir@yandex.ru

Примеры моих работ

IT и Разработка
Дизайн, Монтаж и 3D
Копирайтинг, Рерайтинг и Переводы
Готов сделать. Цена и срок зависят от сложности структуры базы данных и исходных табличных файлов, поэтому смогу их назвать только после осмотра и того, и другого. Подобную работу делать приходилось, поэтому, скорее всего, в пять дней уложусь. Писать буду на Python.

Примеры моих работ

Сайт для проверки дипломов унивеситета КАЗГЮУ
Парсер "РТС-Тендер". Сбор данных по заданному фильтру.
Парсер https://www.etp-ets.ru/. Сбор данных.
Цена договорная т.к. нужно будет увидеть файл, да и суть алгоритма узнать, писать буду на python, возможно с использованием сырого sql, точно смогу сказать после получения ТЗ
готов
@Vkuzmin65
Напишите мне , сделаю быстро , без шума и пыли шеф :) Мой тг https://t.me/therebro или ВК https://vk.me/therebro
Alexandr Alexandrov
Основная специализация: Веб-разработка и Продуктовый дизайн
    Здравствуйте! Готов реализовать загрузку данных в PostgreSQL с учетом скорости и масштабируемости. TG: @Alexuys.

    Примеры моих работ

    Календарь на swift
    web app
    site
    Для эффективной загрузки данных из Excel в PostgreSQL предлагаю следующий код с комментариями:

    import pandas as pd
    import psycopg2
    from io import StringIO
    from psycopg2 import sql
    import logging
    import os

    # Настройка логгера
    logging.basicConfig(level=logging.INFO)

    def load_excel_to_postgres(
    excel_path: str,
    table_name: str,
    schema: str = "public",
    batch_size: int = 10000,
    use_temp_table: bool = True
    ) -> None:
    """
    Загружает данные из Excel в PostgreSQL с использованием эффективного pipeline

    Параметры:
    excel_path (str): Путь к Excel-файлу
    table_name (str): Название целевой таблицы
    schema (str): Схема БД (по умолчанию public)
    batch_size (int): Размер пакета для чтения Excel
    use_temp_table (bool): Использовать временную таблицу для загрузки
    """

    # Получение параметров подключения из переменных окружения
    DB_HOST = os.getenv('DB_HOST')
    DB_PORT = os.getenv('DB_PORT', '5432')
    DB_NAME = os.getenv('DB_NAME')
    DB_USER = os.getenv('DB_USER')
    DB_PASSWORD = os.getenv('DB_PASSWORD')

    conn = None
    try:
    # Подключение к БД
    conn = psycopg2.connect(
    host=DB_HOST,
    port=DB_PORT,
    dbname=DB_NAME,
    user=DB_USER,
    password=DB_PASSWORD
    )
    cursor = conn.cursor()

    Продолжение следует...
    Телеграмм @KuzyaevMaxim
    Павел
    Основная специализация: ИТ и Разработка
      Напишу, надо увидеть ексель файл и структуру БД.
      Вариант 1. Pandas + SQLAlchemy
      Этот код:

      Читает Excel-файл с помощью pandas.read_excel().
      Создает подключение к PostgreSQL через SQLAlchemy.
      Загружает данные в указанную таблицу с использованием метода to_sql с параметром method='multi' для пакетной вставки.
      При необходимости можно добавить обработку по частям (chunking) для очень больших объемов данных.

      import pandas as pd
      from sqlalchemy import create_engine

      # Параметры подключения к БД. Отредактируйте строку подключения под вашу конфигурацию.
      DATABASE_URI = 'postgresql+psycopg2://username:password@your_host:your_port/your_dbname'
      engine = create_engine(DATABASE_URI)

      # Чтение Excel файла
      excel_file_path = "data.xlsx"
      df = pd.read_excel(excel_file_path)

      # Если данных много, можно обрабатывать их по частям
      chunk_size = 10000 # количество строк в одном чанке (при необходимости уменьшите или увеличьте)
      for start in range(0, len(df), chunk_size):
      df_chunk = df.iloc[start:start + chunk_size]
      df_chunk.to_sql('your_table_name', engine, if_exists='append', index=False, method='multi')

      print("Данные успешно загружены в базу данных.")
      Краткое пояснение:

      pandas.read_excel: считывает данные из файла Excel в DataFrame.
      SQLAlchemy: обеспечивает соединение с PostgreSQL. Строка подключения должна быть настроена согласно вашим данным (имя пользователя, пароль, адрес сервера, порт, имя базы).
      to_sql: сохраняет данные в таблицу your_table_name. Параметр if_exists='append' добавляет данные в существующую таблицу, а method='multi' ускоряет вставку, объединяя несколько INSERT-запросов в один.
      Чанкинг: используется для разделения больших объемов данных на более мелкие части, чтобы не перегружать память и БД.
      Артём добрый день
      Могу написать вам код на питоне которые будет перекладывать данные из эксель в бд
      Матвей Смирнов
      Основная специализация: Веб-разработка и Продуктовый дизайн
        хотелось бы увидеть тз подробнее

        tg для связи: @s_smp3
        Здравствуйте! Готов заняться.
        А алгоритм пришлете?
        Даниил Калаб
        Основная специализация: Веб-разработка и Продуктовый дизайн
        Доброе утро, есть уже готовый код на php.Тестировал на загрузке 200мб файлов с 90+ столбцами, работает без ошибок, с форматированием дат и чисел, при необходимости можно будет дописать форматирование. Загружает как в готовую таблицу так и может создать новую, можно будет настроить автозагрузку каждый день, без участия пользователя.
        Внимательно изучил ваше ТЗ и готов предложить эффективное решение для переноса данных из Excel в PostgreSQL. У меня есть опыт работы с обработкой данных различного объема, а также интеграцией Python с PostgreSQL.

        Понимание задачи
        Основная цель – написать код на Python, который будет:

        Читать данные из Excel-файла
        Обрабатывать их по определенному алгоритму
        Загружать в PostgreSQL
        Быть масштабируемым для больших объемов данных
        Предлагаемое решение
        1.Стек технологий
        Python : основной язык разработки
        Pandas : для чтения и обработки данных из Excel
        SQLAlchemy : ORM для взаимодействия с PostgreSQL
        psycopg2 : драйвер для PostgreSQL
        COPY команды PostgreSQL : для быстрой загрузки данных
        2. Архитектура решения
        Код будет состоять из следующих модулей:

        Чтение данных : используем Pandas для импорта Excel-файла
        Обработка данных : применяем необходимый алгоритм преобразования
        Загрузка в БД : используем COPY команду для массовой вставки данных

        import pandas as pd
        from sqlalchemy import create_engine

        # Подключение к PostgreSQL
        engine = create_engine('postgresql://user:password@host:port/dbname')

        # Чтение Excel файла
        df = pd.read_excel('data.xlsx')

        # Применение алгоритма обработки
        # df = process_data(df) # здесь можно добавить ваш алгоритм

        # Загрузка данных в PostgreSQL
        df.to_sql('table_name', engine, if_exists='append', index=False)

        3. Оптимизация для больших объемов
        Использование батчей для разделения данных на части
        Параллельная загрузка через мультипроцессинг
        Предварительная проверка данных перед загрузкой
        Логироhание процесса для отслеживания ошибок

        Итого:
        Изучить структуру данных и алгоритм обработки
        Написать прототип кода
        Провести тестирование на предоставленных данных
        Оптимизировать код под высокие нагрузки
        Документировать работу программы
        Провести консультацию по использованию. мой телеграмм - @nolan13as
        Никита, 3 года опыта
        Разработаю эффективный Python-скрипт для загрузки данных из Excel в вашу PostgreSQL БД в Selectel. Учту масштабируемость, скорость и надежность. Опыт работы с PostgreSQL и Selectel Cloud.
        Здравствуйте, есть рабочий прототип Вашего проекта, только для локальной БД
        Проект выполнен в Visual Studio
        Можно скачать из портфолио (ссылка ниже).
        Далее договоримся
        Резюме https://novosibirsk.hh.ru/resume/cb752738ff0359b8260039ed1f466e4c7a5a63
        Портфолио http://www.freelancejob.ru/users/popovov
        12:51 04.03.25
        Нужна структура файла Excel и БД
        Здравствуйте, Артем!
        Ознакомился с Вашим заданием. С удовольствием выполню этот заказ.
        Можно посмотреть excel - файл ?
        здравствуйте, обращайтесь, сделаю
        Добрый день Артем

        Я подготовлю для вас Python-код, который эффективно импортирует данные из Excel в PostgreSQL 16 на кластере в Selectel. Код будет использовать современные библиотеки и подходы, включая pandas для обработки Excel и psycopg2 для работы с PostgreSQL, с учетом масштабируемости.

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

        Жду вашего ответа

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

        Примеры моих работ

        Lazy reader - Telegram Bot, Mini App - чтение на иностранных языках с обучением
        Портал недвижимости Maplz.com
        Система управления автообъявлений
        Anatol Va
        Основная специализация: ИТ и Разработка
        предлагаю на php
        есть готовый вариfнт парсится из excel в mysql
        более 100 К строк
        телеграм @vavprog
        Напишу эффективный Python code для импорта данных из Excel в ваш PostgreSQL 16 кластер на Selectel, учитывая масштабируемость решения. Предоставлю консультацию по работе кода. Контакты, опыт:
        22:11 04.03.25
        Можете связаться со мной в рабочее московское время в вацап или телеграм? Цену указал крупно, зеленым, портфолио в профиле, контакты в подписи.
        Добрый день.
        Реализую на python или go, с документацией. Мне нужно будет уточнить объем данных, алгоритм, требуется ли реализовать аутентификацию. Готов проработать вариант автоматической выгрузки или обмена данными на будущее.
        Добрый день.
        Готов взяться за работу.
        Хотелось бы обсудить детали

        akk на Habr: freelance.habr.com/freela...

        Где с вами можно связаться? (Предлагаю телеграмм: t.me/IvanPmk @IvanPmk)
        Привет, имею большой опыт в разработке скриптов, сайтов, парсеров и просто програм на python, одним словом пишу всо, также пишу приложения на Андроид, с удовольствием возьмусь за работу, сделаю всо в лучшем виде и в кратчайшие сроки, также помогу запустить и разобраться.

        Мое портфолио: https://ochistka35.wixsite.com/daichasportfolio
        Мой телеграм: https://t.me/daicha_helper_bot (если у вас спам, не проблема)
        Здравствуйте! Я могу написать код на Python для вашего задачи +994554345006 ВОТСАП
        Добрый день. Готов выполнить ваш заказ на golang. Если интересует, пишите.

        Оставлять заявки могут только авторизованные пользователи.