c 网站开发面试题,网络营销哪家比较专业,找人做的网站怎么看ftp,微信企业微网站在多个工作簿中批量新增工作表
假设#xff0c;一个文件夹下面有多个excel文件#xff0c;需要再每个excel文件中增加一个sheet。
例子#xff1a;
import osimport xlwings as xw file_path D:\\TEST\\python与excelfile_list os.listdir(file_path) sheet_name 产品…在多个工作簿中批量新增工作表
假设一个文件夹下面有多个excel文件需要再每个excel文件中增加一个sheet。
例子
import osimport xlwings as xw file_path D:\\TEST\\python与excelfile_list os.listdir(file_path) sheet_name 产品销售区域app xw.App(visibleFalse,add_bookFalse)for i in file_list: if i.startswith(~$): continue file_paths os.path.join(file_path,i) workbook app.books.open(file_paths) sheet_names [j.name for j in workbook.sheets] print(sheet_names) if sheet_name not in sheet_names: workbook.sheets.add(sheet_name) workbook.save() app.quit() 上面例子需要循环路径下面所有excel文件获得每个excel文件的sheet判断准备新增的sheet名称是否已经存在在excel文件中如果没有就新增。
其中[j.name for j in workbook.sheets] 是一种简化写法循环读取excel中文件名返回名称组成的列表。workbook.sheets.add(sheet_name) 这个add方法就是在excel文件中增加sheet的方法。 在多个工作簿中批量删除工作表
假设需要删除一个文件夹下面多个excel文件中的相同sheet名称的sheet。
例子
import osimport xlwings as xw file_path D:\\TEST\\python与excelfile_list os.listdir(file_path) sheet_name 订单表app xw.App(visibleFalse,add_bookFalse)for i in file_list: if i.startswith(~$): continue file_paths os.path.join(file_path,i) workbook app.books.open(file_paths) for j in workbook.sheets: if j.name sheet_name: j.delete() break workbook.save() app.quit() 上面同样是双重循环来读取每一个sheet来判断是否是准备删除的sheet名称的sheet其中j.delete()方法即sheet对象的delete()方法是用来删除指定sheet的。
在这里j是class xlwings.main.Sheet类型。