У вас неправильные отступы. Вы должны сделать это внутри for
-l oop.
И вы должны использовать функцию из модуля openpyxl
, чтобы открыть и прочитать файл Excel.
Функции open()
, read()
полезны для чтения текстовых файлов (или аналогичных) или для читать необработанные данные, но Excel
использует более сложные файлы (ie. он может использовать .zip
файл со многими .xml
файлами), и вам понадобится модуль, например openpyxl
, чтобы его прочитать.
import os
import glob
import openpyxl
folder_path = 'G:\\My Drive\\Reports\\'
for filename in glob.glob(os.path.join(folder_path, '*.xlsm')):
print(filename)
wb = openpyxl.open(filename)
ws = wb.active
#Update cells
print('old value:', ws['A1'].value)
ws['A1'] = 'Hello World'
print('new value:', ws['A1'].value)
wb.save(filename)
BTW: всегда помещайте весь импорт в начало, чтобы сделать код более читабельным.
См. Также: PEP 8 - Руководство по стилю для Python Код