В проекте я генерирую/изменяю огромное количество файлов xlsx с помощью openpyxl.
Когда я помещаю один из этих файлов на Onedrive, я не могу его открыть… Но если я открою его на своем ноутбуке с помощью libreoffice, сохраню и закрою, повторно перенесу в Onedrive, то можно будет редактировать онлайн.
Я бы хотел автоматизировать процесс с помощью скрипта Python:
for every xlsx file generated
- open it with default app
- save
- close
Я пробовал использовать подпроцесс и клавиатуру, но безуспешно… Подпроцесс открывает файл, но сценарий Python останавливается, пока libreoffice все еще открыт.
Вот минималистская попытка
#!/usr/bin/env python
from openpyxl import Workbook
from pynput.keyboard import Key, Controller
import subprocess # pour lancer des processus
import time
from platform import system
nom_os = system().lower()
if "windows" in nom_os:
# programme = "start"
programme = r"C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE"
elif "osx" in nom_os or "darwin" in nom_os:
programme = "open"
else:
programme = "xdg-open"
fichier = r"./essai.xlsx"
durées=[3.5, .7, 1.]
classeur = Workbook()
classeur.save(fichier) # saves empty xlsx
keyboard = Controller()
# opens xlsx file
_sp_ = subprocess.Popen([programme, str(fichier)], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# Pause to give workbook time to fully open.
time.sleep(durées[0])
# fills first cell in xlsx file
keyboard.type('azerty')
# saves
with keyboard.pressed(Key.ctrl):
keyboard.tap('s')
# Pause et validation pour confirmer l'enregistrement en xlsx
time.sleep(durées[1])
# closes
with keyboard.pressed(Key.ctrl):
keyboard.tap('q')
# Pause to give workbook time to fully close.
time.sleep(durées[2])
_sp_.terminate()
Подробнее здесь: https://stackoverflow.com/questions/798 ... -xlsx-file
Python: открыть сохранение и закрыть файл xlsx ⇐ Python
Программы на Python
-
Anonymous
1770653863
Anonymous
В проекте я генерирую/изменяю огромное количество файлов xlsx с помощью openpyxl.
Когда я помещаю один из этих файлов на Onedrive, я не могу его открыть… Но если я открою его на своем ноутбуке с помощью libreoffice, сохраню и закрою, повторно перенесу в Onedrive, то можно будет редактировать онлайн.
Я бы хотел автоматизировать процесс с помощью скрипта Python:
for every xlsx file generated
- open it with default app
- save
- close
Я пробовал использовать подпроцесс и клавиатуру, но безуспешно… Подпроцесс открывает файл, но сценарий Python останавливается, пока libreoffice все еще открыт.
Вот минималистская попытка
#!/usr/bin/env python
from openpyxl import Workbook
from pynput.keyboard import Key, Controller
import subprocess # pour lancer des processus
import time
from platform import system
nom_os = system().lower()
if "windows" in nom_os:
# programme = "start"
programme = r"C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE"
elif "osx" in nom_os or "darwin" in nom_os:
programme = "open"
else:
programme = "xdg-open"
fichier = r"./essai.xlsx"
durées=[3.5, .7, 1.]
classeur = Workbook()
classeur.save(fichier) # saves empty xlsx
keyboard = Controller()
# opens xlsx file
_sp_ = subprocess.Popen([programme, str(fichier)], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# Pause to give workbook time to fully open.
time.sleep(durées[0])
# fills first cell in xlsx file
keyboard.type('azerty')
# saves
with keyboard.pressed(Key.ctrl):
keyboard.tap('s')
# Pause et validation pour confirmer l'enregistrement en xlsx
time.sleep(durées[1])
# closes
with keyboard.pressed(Key.ctrl):
keyboard.tap('q')
# Pause to give workbook time to fully close.
time.sleep(durées[2])
_sp_.terminate()
Подробнее здесь: [url]https://stackoverflow.com/questions/79886004/python-open-save-and-close-xlsx-file[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия