2

我正在开发一个用于工作的 Python 脚本,它将在不知道文件名是什么的情况下从特定目录打开 Excel 文件。该目录以某种方式固定和控制,以便用户可以访问文件所在的目录。每个目录中只有一个 Excel 文件。是否可以在不指定给定目录中的文件名的情况下打开 Excel 文件的 xlrd open 命令?

或者,有没有办法解决这个问题,并有一个函数在给定目录中搜​​索 .xlsx 扩展名,然后将这些文件名存储在一个数组中,以便xlrd.open_workbook()可以使用数组中的元素打开该文件?

4

1 回答 1

2

这是一个简单的 wrap 函数,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)
于 2013-05-25T16:47:19.713 回答