用xlrd显示正在处理的文件名,python中Book类没有filename属性
我正在尝试做一件我觉得应该很简单的事情,但似乎在xlrd的Book类中没有这个属性。
在解析一个文件夹里的所有xlsx文件时,我想记录每个文件中存在的错误。为了做到这一点,我需要打印出正在处理的文件名。
目标:打印出xlrd正在处理的文件名,比如下面的例子中的"filename.xlsx"。
示例代码:
Wb = xlrd.open_workbook ( "./data/excel_files/filename.xlsx" )
print "File being processed is: %s" % Wb.name_obj_list[0].name
这段代码输出的是"_xlnm._FilterDatabase"。我想打印的是"filename.xlsx"。但是Book类的文档中没有简单的方法来做到这一点。http://www.lexicon.net/sjmachin/xlrd.html#xlrd.Book-class
有什么建议吗?
2 个回答
0
我刚刚把一个文件名通过Wb对象从另一个类传过去,然后把它打印出来了。
0
试试这个简单的方法:
for filename in glob('*.xls*'):
try:
wb = xlrd.open_workbook(filename)
except xlrd.XLRDERROR:
print 'Problem processing {}'.format(filename)