Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 03.03.2024
Сообщений: 3

Запись в Эксель с помощью Openpyxl

03.03.2024, 11:08. Показов 731. Ответов 4

Студворк — интернет-сервис помощи студентам
Всем добра и здоровья! Есть две программы по сбору данных с сайта Заббикс. Обе правильно сохраняют в ТХТ файлы, обе неправильно копируют в Эксель и возникают расхождения с ручной выборкой. В Эксель формула рассчитывает итог. Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
def func_cell_clear(var_excel): # фукция очистка листа
    for count in range(43200):
        var_excel[f'A{count+2}'] = None
        var_excel[f'E{count+2}'] = None
        var_excel[f'I{count+2}'] = None
 
def cycle_record(index, data, var_excel):
    for count, val in enumerate(data):
        var_excel[f'{index}{count+2}'] = val
 
def record_excel(date1, date2, data_list):
 
    file_excel_site = openpyxl.load_workbook(filename=f'./Site.xlsx')
    result_site = file_excel_site.get_sheet_by_name("Итог") # лист "Итог"
    data_site = file_excel_site.get_sheet_by_name("Данные") # лист "Данные"
    func_cell_clear(data_site)  # запуск функции очистки листа "Данные"
    cycle_record(index='A', data=data_list['msk_site'], var_excel=data_site) #запись в колонку А (сайт)
    cycle_record(index='E', data=data_list['spb_site'], var_excel=data_site) #запись в колонку E (сайт)
    cycle_record(index='I', data=data_list['ural_site'], var_excel=data_site) #запись в колонку I (сайт)
    result_site['B1447'] = date1[-8:] # заполнение поля Начало периода
    result_site['B1448'] = date2[-8:] # заполнение поля Конец периода
    file_excel_site.save(f'Site.xlsx')
 
    file_excel_lk = openpyxl.load_workbook(filename=f'./LK.xlsx')
    result_lk = file_excel_lk.get_sheet_by_name("Итог")
    data_lk = file_excel_lk.get_sheet_by_name("Данные")
    func_cell_clear(data_lk)
    cycle_record(index='A', data=data_list['msk_lk'], var_excel=data_lk) #запись в колонку А (ЛК)
    cycle_record(index='E', data=data_list['spb_lk'], var_excel=data_lk) #запись в колонку E (ЛК)
    cycle_record(index='I', data=data_list['ural_lk'], var_excel=data_lk) #запись в колонку I (ЛК)
    result_lk['B1447'] = date1[-8:] # заполнение поля Начало периода
    result_lk['B1448'] = date2[-8:] # заполнение поля Конец периода
    file_excel_lk.save(f'LK.xlsx')
На скринах результат обработки в Эксель.
Миниатюры
Запись в Эксель с помощью Openpyxl   Запись в Эксель с помощью Openpyxl  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.03.2024, 11:08
Ответы с готовыми решениями:

Запись в Excel (openpyxl)
from openpyxl import load_workbook import locale import datetime import os from selenium import webdriver ...

Поставить галочку в эксель-файле с помощью C#
Добрый день! В базе данных MS SQL хранится excel-файл в байтовом виде. Допустим, в коде C# он сохранен в какую-то переменную...

Запись в эксель и ворд
Здравствуйте! Подскажите, как можно записать данные из таблицы в эксель и ворд без вывода ошибки "Действительный формат открываемого...

4
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,306
04.03.2024, 12:18
Цитата Сообщение от Vikdamb Посмотреть сообщение
Есть две программы по сбору данных с сайта Заббикс.
В каком формате данные приходят?
Цитата Сообщение от Vikdamb Посмотреть сообщение
Обе правильно сохраняют в ТХТ файлы, обе неправильно копируют в Эксель
Как выглядит привильное сохранение и как выглядит неправильное?
0
0 / 0 / 0
Регистрация: 03.03.2024
Сообщений: 3
04.03.2024, 13:55  [ТС]
После копирования в колонки А,E,I Эксель заполняет остальные колонки. Но не всегда...Иногда не заполняются D,H,L. Тогда на листе ИТОГ также появляется неверный результат. Там должны быть только 0 или 1.
Миниатюры
Запись в Эксель с помощью Openpyxl   Запись в Эксель с помощью Openpyxl  
0
0 / 0 / 0
Регистрация: 03.03.2024
Сообщений: 3
04.03.2024, 14:00  [ТС]
А еще интереснее, что даже при правильном заполнении всех полей Эксель результат отличается от ручного копирования в Эксель. Т. е. программа неправильно пишет в Эксель. На скрине изображение итогового файла тхт. В нем все ОК. Если его вручную вставить в Эксель, то все норм.
Изображения
 
0
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,306
09.03.2024, 13:48
Много слов, мало смысла
По скринам получается, что вставка и в тхт и в ексель одинаковая
Цитата Сообщение от Vikdamb Посмотреть сообщение
Эксель заполняет остальные колонки. Но не всегда...Иногда не заполняются D,H,L.
Раз ексель заполняет, то вопросы к екселю, а не скрипту.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.03.2024, 13:48
Помогаю со студенческими работами здесь

Запись в эксель файл
Добрый вечер! Нужно сделать отчет из БД в эксель файл(около 800к записей). Пользовался PHPExcel но она потребляет много памяти и долго...

Запись в несколько ячеек эксель
Как можно реализовать запись данных в ячейке? Объясню на примере, что конкретно имею ввиду Пример: На форме расположены едит1,...

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

Запись данных из интернета в эксель
Привет, форумчане!)) В ходе автоматизации процесса возник вопрос. В эксель файле у меня в столбце А есть ссылки на json-файлы. С...

Чтение таблицы из doc и запись в эксель
Есть таблица вида: только в doc формате. Необходимо перенести ее в excel. Пробую код: import pandas as pd import...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных выбран регистр накопления, в. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru