【问题标题】:how to read any sheet with the sheet name containing 'mine' from multiple excel files in a folder using python? i am using xlrd如何使用 python 从文件夹中的多个 excel 文件中读取工作表名称包含“我的”的任何工作表?我正在使用 xlrd
【发布时间】:2018-03-08 16:47:00
【问题描述】:

如何使用 python 从文件夹中的多个 excel 文件中读取工作表名称包含“我的”的任何工作表?我正在使用 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 %Mine% 的表格。谢谢。

【问题讨论】:

    标签: python excel xlrd


    【解决方案1】:

    这是一个基于使用函数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,但我更喜欢“电子表格”,因为每个人都知道这意味着什么,而“工作簿”则更加模糊。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 2020-12-09
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      相关资源
      最近更新 更多