2017-09-27 19 views
1

如何使用python從一個文件夾中的多個excel文件中讀取包含'mine'的工作表名稱的任何工作表?我正在使用xlrd。如何使用python從一個文件夾中的多個excel文件中讀取包含'mine'的工作表名稱的任何工作表?我正在使用xlrd

dir_to_load = "C:\\Users\\User\\Desktop\\" 
dir_to_save = "C:\\Users\\User\\Desktop\\" 
file_name = "Test.xlsx" 

os.chdir(dir_to_load) 

wb= xlrd.open_workbook(file_name) 
ws = wb.sheet_by_index(-1) 
out_list = [] 

我知道我只是讀一個文件並獲得最後一張紙,但我想包含或LIKE%礦%來自多個文件的表。謝謝。

回答

0

這是根據各地使用的功能,get_worksheet_names(spreadsheet_name),讓電子表格中的每個工作表的名稱的解決方案:

import xlrd 

# Utility function to get worksheet names from a spreadsheet: 
def get_worksheet_names(spreadsheet_name): 
    worksheets = xlrd.open_workbook(spreadsheet_name).sheet_names() 

    worksheet_names = [] 
    for j in worksheets: 
     worksheet_names.append(worksheets.sheet_by_name(j)) 

    return worksheet_names 


# Here is your original code, modified: 
dir_to_load = "C:\\Users\\User\\Desktop\\" 
dir_to_save = "C:\\Users\\User\\Desktop\\" 
file_name = "Test.xlsx" 

os.chdir(dir_to_load) 

wsnames = get_worksheet_names(file_name) 

for name in wsnames: 
    if 'mine' in name: # change to whatever search criteria you'd like here 
     print name 

(關於術語注意:Microsoft uses "workbook" and "spreadsheet" interchangeably,但我更喜歡「電子表格」因爲每個人都知道這意味着什麼,而「工作手冊」則更加模糊。)

相關問題