接着上一章的内容继续来说,上一章内容说完了关于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的数据域向下移动一行、向左移动两列,如果是负数则向相反的方向移动
关于openpyxl设置单元格的样式问题,在之前专门写过一篇文章是它的样式的配置,可以到公众号的文章搜索功能去搜索'openpyxl样式'。
【往期精彩】
● excel数据处理一:巧妙使用openpyxl提取、筛选数据
● 比Selenium更方便的自动化测试工具Helium!
● Python数据可视化:可视化数据分析插件D-Tale
● 计算速度太慢?试试 lru_cache 装饰器!
● 冒泡排序、选择排序之间的比较与代码实现!
● 如何通过pynput与日志记录实现键盘、鼠标的监听行为?
● 办公自动化:几行代码将PDF文档转换为WORD文档(代码实战)!