Я работаю над программой, которая использует расписание, хранящееся в файле Excel, для включения и выключения чего-либо. Программа работает в фоновом режиме и каждую минуту проверяет данные Excel. Файл хранится в OneDrive, который сопоставлен с локальным диском компьютера, на котором запущена программа.
Я могу без проблем получить доступ к файлу с помощью pandas:
Код: Выделить всё
data = pd.read_excel(r"C:\Users\Ryszard\OneDrive - Politechnika Warszawska\Rezerwacje systemu HIL\HIL - schedule.xlsx", sheet_name=f'{month}')
Однако у меня возникла проблема с синхронизацией. Когда я вручную открываю файл до запуска сценария, он обновляется правильно. Но если я попытаюсь получить к нему доступ напрямую через скрипт, данные, похоже, не обновятся. Это означает, что функция pandas read_excel, похоже, не запускает синхронизацию OneDrive, как это происходит при открытии файла вручную.
Есть ли способ принудительно обновить файл перед доступом к нему с помощью pandas? Есть ли у вас идеи, как с этим справиться? Я думал об использовании команды PowerShell, но не нашел ничего подходящего. Я не использую API OneDrive и не хочу, так как для данного случая это кажется ненужным и слишком сложным.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... -in-python