如何使用 python 从文件夹中的多个 excel 文件中读取工作表名称包含“我的”的任何工作表?我正在使用 xlrd
Posted
技术标签:
【中文标题】如何使用 python 从文件夹中的多个 excel 文件中读取工作表名称包含“我的”的任何工作表?我正在使用 xlrd【英文标题】:how to read any sheet with the sheet name containing 'mine' from multiple excel files in a folder using python? i am using xlrd 【发布时间】:2018-03-08 16:47:00 【问题描述】:。
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% 的表格。谢谢。
【问题讨论】:
【参考方案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,但我更喜欢“电子表格”,因为每个人都知道这意味着什么,而“工作簿”则更加模糊。)
【讨论】:
以上是关于如何使用 python 从文件夹中的多个 excel 文件中读取工作表名称包含“我的”的任何工作表?我正在使用 xlrd的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Python 中的文件/流中懒惰地读取多个 JSON 值?
如何使用 python 从文件夹中的多个 excel 文件中读取工作表名称包含“我的”的任何工作表?我正在使用 xlrd