接着上一章的内容继续来说,上一章内容说完了关于openpyxl对数据的提取、筛选等数据的查询的遍历操作。这一章将主要看看怎样在excel文件中新增以及修改数据,如果没有看过前一章的内容建议先看看上一篇文章的说明。
导入excel的数据处理对象
from openpyxl import load_workbook
创建新的sheet工作表
workbook = load_workbook(filename = "./data.xlsx") workbook.create_sheet("新创建的工作表sheet") print(workbook.sheetnames) workbook.save(filename = "./new_data.xlsx")
删除工作表
workbook.remove(workbook['新创建的工作表sheet']) # 将新创建的工作表删除
复制工作表并重新保存
workbook = load_workbook(filename = "./data.xlsx") # 加载excel文件 sheet = workbook['Sheet1'] # 获取Sheet1工作表对象 workbook.copy_worksheet(sheet) # 复制这个工作表到excel文件对象 workbook.save(filename = "./new_data.xlsx") # 将该文件文件重新保存到另外一个文件
向单元格中写入内容
workbook = load_workbook(filename = "./data.xlsx") # 加载excel文件 sheet = workbook['Sheet1'] # 获取工作表对象 cell = sheet["A1"] # 获取单元格对象 cell.value = 'Python 集中营' # 向单元格写入数据 workbook.save(filename = "./new_data.xlsx") # 将修改后的excel文件对象另存为新的文件
按行插入数据
''' append(row) 将行数据追加到已有excel数据表的后面 row:行数据对象 ''' row_datas = [ ['Python 集中营','原创文章:167篇','注册时间:2020-04-01'], ['Python 集中营','原创文章:167篇','注册时间:2020-04-01'] ] for row_data in row_datas: # 遍历准备好的数据 sheet.append(row_data) # 将每行数据加入到sheet工作表中
插入空的一行或空的一列
''' insert_cols(idx=数字编号, amount=要插入的列数) 在idx的左边插入空列 insert_rows(idx=数字编号, amount=要插入的行数) 在idx的下边插入空行 ''' sheet.insert_cols(idx=1,amount=10) # 在第一列的左边插入十个空列 sheet.insert_rows(idx=2,amount=10) # 在第二行的下边插入十个空行
删除第几行或第几列
''' delete_cols(idx=数字编号) 删除第几列 delete_rows(idx=数字编号) 删除第几行 ''' sheet.delete_cols(idx=10) # 删除第十列 sheet.delete_rows(idx=10) # 删除第十行
数据域的移动
''' sheet.move_range("数据域",rows=数字编号,cols=数字编号) ''' sheet.move_range("A1:C2",rows=1,cols=2) # 从A1:C2的数据域向下移动一行、向左移动两列,如果是负数则向相反的方向移动