Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 17.02.2020, 13:01   #1
1way2god
Пользователь
 
Регистрация: 28.01.2020
Сообщений: 13
По умолчанию Скрипт "ломает" файл эксель после записи информации

Код:
import xlwt
import pandas as pd
import win32com.client as wincl
from pandas import ExcelWriter
from pandas import ExcelFile
import subprocess
from tkinter.filedialog import askopenfilename
import pymysql.cursors
import csv  
from openpyxl import load_workbook
df = pd.read_sql(sql,connection)
        book = load_workbook('C:\\Users\\username\\Desktop\\БедныйЙорик.xlsm')
        writer = pd.ExcelWriter('C:\\Users\\username\\Desktop\\БедныйЙорик.xlsm', engine='openpyxl')
        writer.book = book
        writer.sheets = {ws.title: ws for ws in book.worksheets}
        for sheetname in writer.sheets:
            df.to_excel(writer,sheet_name="Лист1", startrow=0, index = False, header= True)
        writer.save()    
        
finally:
    connection.close()
После записи информации в файл эксель, он перестает открываться, говорит, что файл поврежден.
Если делаю запись в файл с расширением xlsx(без поддержки макросов), то все отлично работает. Что нужно сделать, чтобы код работал с файлом xlsm?
1way2god вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматический запуск макроса после закрытия окна "Параметры Excel" кнопкой "ОК" aie.fineff Microsoft Office Excel 4 12.07.2019 17:30
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 15:23
Ввести строку и после каждого символа "q" ставить "**" karamzin Паскаль, Turbo Pascal, PascalABC.NET 2 25.11.2012 02:57
Возможно, кто-то "ломает" пароль от моего почтового ящика на яндексе Вадим Мошев Безопасность, Шифрование 4 18.03.2012 08:22


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS