2013-05-25 73 views
2

我正在開發一個Python腳本,用於在不知道文件名是什麼的情況下從特定目錄打開Excel文件的工作。該目錄是固定的並且以一種方式控制,以便用戶可以到達文件所在的目錄。每個目錄中只有一個Excel文件。是否有可能打開一個Excel文件而不指定給定目錄中的文件名的xlrd打開命令?使用Python打開未知的Excel文件名

或者,有沒有辦法解決這個問題,並有一個函數在給定的目錄中搜索.xlsx擴展名,然後將這些文件名存儲在一個數組中,以便xlrd.open_workbook()可以使用數組中的元素打開文件?

回答

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) 
+0

這是真棒!做了一些變化,但它很好。謝謝零! –