Открытие неизвестного имени файла Excel с помощью Python

Я разрабатываю скрипт Python для работы, который откроет файл Excel из определенного каталога, не зная имени файла. Каталог фиксируется и управляется таким образом, чтобы пользователь мог попасть в каталог, в котором находится файл. В каждом каталоге будет только один файл Excel. Возможно ли иметь команду открытия xlrd, которая открывает файл Excel без указания имени файла в данном каталоге?

Или есть способ обойти это и иметь функцию, которая ищет расширения .xlsx в заданном каталоге, а затем сохраняет эти имена файлов в массиве, чтобы xlrd.open_workbook() мог затем использовать элемент в массиве, чтобы открыть этот файл?


person Matthew Stevenson    schedule 25.05.2013    source источник


Ответы (1)


Вот простая функция, которая оборачивает open_workbook(), используя glob.glob() для передачи произвольный .xlsx файл в folder к нему:

import os.path
from glob import glob
from xlrd import open_workbook

def open_arbitrary_workbook(folder, *args, **kwargs):
    try:
        path = glob(os.path.join(folder, "*.xlsx"))[0]
    except IndexError:
        raise IOError("No .xlsx files found in %r" % folder)
    return open_workbook(path, *args, **kwargs)
person Zero Piraeus    schedule 25.05.2013
comment
Это замечательно! Сделал некоторые вариации, но это здорово. Спасибо Зеро! - person Matthew Stevenson; 27.05.2013