我正在开发一个 Python 脚本,用于在不知道文件名的情况下从特定目录打开 Excel 文件。该目录是固定的,并以某种方式进行控制,以便用户可以到达文件所在的目录。每个目录下只会有一个Excel文件。是否可以使用 xlrd 打开命令打开 Excel 文件而不指定给定目录中的文件名?
或者,有没有办法解决这个问题,并有一个函数在给定目录中搜索 .xlsx 扩展名,然后将这些文件名存储在一个数组中,以便 xlrd.open_workbook() 可以然后使用数组中的元素打开该文件?
请您参考如下方法:
这是一个简单的函数,它使用 glob.glob() 封装了 open_workbook()将 folder 中的任意 .xlsx 文件传递给它:
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)
