python 3 открытых файла Excel в каталоге - PullRequest
0 голосов
/ 28 мая 2020

Я новичок в программировании и пытаюсь работать над сценарием, который откроет файл Excel в папке. обновите книгу с помощью openpyxl. Сохраните файл. Откройте следующий файл в каталоге и сделайте то же самое.

Пробую безуспешно:

import os.glob
folder_path = 'G:\\My Drive\\Reports\\'
for filename in glob.glob(os,path.join(folder_path, '*.xlsm')):
    with open(filename, 'r' as f:
        text = f.read()
        print (filename)
        print (len(text))
from openpyxl import Workbook
from openpyxl.styles import NamedStyle, Font, Border, Side, Alignment
wb=Workbook()
ws=wb.active
Update cells

wb.save(filename)

1 Ответ

0 голосов
/ 28 мая 2020

У вас неправильные отступы. Вы должны сделать это внутри 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 Код

...