python-openpyxl-工作表基本操作

python-openpyxl-工作表基本操作

  • 创建工作表
  • 打开load工作表
  • 指定工作表
  • 工作表名称遍历
  • 新建指定工作表
  • 删除指定工作表对象
  • 复制指定工作表
  • 案例
    • 新建N张工作表
    • 批量改名称
    • 批量复制工作表
  • 属性总结
  • 方法总结

创建工作表

  • Workbook方法
from openpyxl import *
file = r"D:\xlsx\lianxi_2.xlsx"
wb1 = Workbook(file)
wb1.save(file)    # 如果要另存为的话,改变save的file名字即可

打开load工作表

  • load_workbook方法
from openpyxl import *
file = r"D:\xlsx\lianxi_1.xlsx"
wb1 = load_workbook(file)
wb1.save(file)

指定工作表

  • workbook_name[worksheet_name]指定
  • 如果只有一个工作表,用workbook_name.active
ws1 = wb1["student"]
ws2 = wb1.active
ws3 = wb1.worksheets[0]
wb1.save(file)

工作表名称遍历

  • 名称用worksheet.title属性
wb1 = load_workbook(file)
for i_ws in wb1.worksheets:
    print(i_ws.title)

新建指定工作表

  • 使用create_sheet(sheet_name)
wb1 = load_workbook(file)
wb1.create_sheet("province")

删除指定工作表对象

  • 使用remove(work_sheet对象)
wb1 = load_workbook(file)
ws1 = wb1["province"]
wb1.remove(ws1)

复制指定工作表

  • 使用copy_worksheet(work_sheet对象)
wb1 = load_workbook(file)
ws1 = wb1.copy_worksheet(wb1["student"])
ws1.title = "class"
wb1.save(file)

案例

新建N张工作表

for idx in range(5):
    wb1.create_sheet("new_"+str(idx))
wb1.save(file)

批量改名称

for i_ws in wb1.worksheets:
    i_ws.title = "add_" + i_ws.title
wb1.save(file)

批量复制工作表

for idx in range(3):
    ws1 = wb1.copy_worksheet(wb1["template"])
    ws1.title = "new_" + str(idx)
wb1.save(file)

属性总结

  • active: 获取当前活动的worksheet
  • properties: 获取文档的相关数据,如创作者,日期等
  • worksheets: 以列表的额形式返回所有的worksheet
  • sheetnames: 以列表的额形式返回所有worksheet的名字
  • encoding: 返回文档的字符编码
  • read_only: 是否改写
  • data_only: 默认为flase,为true时只显示值而不显示公式

方法总结

  • workbook[worksheet_name] 指定工作表对象
  • remove(worksheet_obj) 删除工作表对象
  • copy_worksheet(worksheet_obj) 在工作簿中拷贝工作表
  • save(file) 保存

你可能感兴趣的:(python办公自动化,python,开发语言)