Мой сценарий использует веб-драйвер Chrome для входа в онлайн-базу данных, запроса данных, а затем загружает данные для помещения в кадр данных pandas. Проблема, с которой я столкнулся при написании этого скрипта, заключается в том, что когда данные загружаются из онлайн-базы данных ... они загружаются с расширением XLS, которое повреждено. Чтобы решить эту проблему, я использую следующий код:
# Locates all files with XLS extension in downloads folder
downloads = glob.glob(r'C:\Users\gol69206\Downloads\*.xls')
# Locates the newest XLS document in downloads folder
queryXLS = max(downloads, key=os.path.getctime)
# Open Excel
excel = win32.gencache.EnsureDispatch('Excel.Application')
# Create new Excel workbook with Query
wb = excel.Workbooks.Open(queryXLS)
# SaveQuery with '.xlsx' extension so file is not corrupted and can be read into data frame
print("Converting query to .XLSX extension")
excel.DisplayAlerts = False
wb.SaveAs(queryXLS + "x", FileFormat=51)
# Close workbook
wb.Close()
# Quit Excel
excel.Application.Quit()
# Locates all files with XLSX extension in downloads folder
downloads = glob.glob(r'C:\Users\gol69206\Downloads\*.xlsx')
# Locates the newest XLSX document in downloads folder
queryXLSX = max(downloads, key=os.path.getctime)
# Load 'queryXLSX' into data frame and don't include first row (blank)
df = pd.read_excel(queryXLSX, skiprows=1)
Когда я запускаю скрипт из консоли python, он работает отлично. Однако сейчас я пытаюсь запускать этот скрипт один раз в день с помощью планировщика заданий Windows. Я полагаю, что поставил задачу правильно, включив функции «запускать ли пользователь вошел в систему или нет», «запустить с наивысшими привилегиями», «разбудить компьютер для запуска этой задачи».
Я считаю, что проблемаэто открытие Excel или, возможно, сохранение нового XLSX. Когда я просматриваю свою папку загрузок, появляется документ XLS, означающий, что он правильно запрашивает онлайн-базу данных при использовании планировщика заданий Windows.
Любая помощь будет принята с благодарностью. Спасибо.