Python 自动化 Excel ?这15个技巧要会!
Posted Python学习与数据挖掘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 自动化 Excel ?这15个技巧要会!相关的知识,希望对你有一定的参考价值。
Python是一种了不起的编程语言。它更容易学习和适应。python中的错误消息是可以很好理解的。我们不需要花费数小时来找到错误消息的解决方案。这就是为什么我喜欢这种编程语言。
我认为这应该是理想的编程语言。编程语言的目标应该是帮助我们构建令人兴奋的产品,而不是在解决错误上浪费时间。
最近,我学习了如何使用python自动化excel任务。我想和更多的朋友分享这些神奇的技巧。你可以使用自己选择的代码编辑器。在本文中,我将使用Jupyter笔记本进行演示。
1、安装所需的库
我们需要安装一个python库openpyxl。在命令提示符中键入以下命令。
pip install openpyxl
2、加载现有工作簿
如果您有一个现有的excel工作簿,并且希望从特定的工作表中读取数据或将数据修改到任何工作表中,则openpyxl提供了一个名为 load_workbook() 的函数,可按如下方式使用。
from openpyxl import Workbook, load_workbook
wb = load_workbook('my_demo_sheet.xlsx')
3、访问工作表
如果要访问活动工作表中的内容。然后工作簿有一个名为active的属性,可以帮助我们指向活动工作表。
ws = wb.active
print(ws)
但是,如果你想指定其他的 sheet,我们可以这样做。
在这里,我从我的excel表访问sheet2。
ws = wb["Sheet2"]
4、访问单元格值
一旦定义了工作表,就可以引用工作表中的任何单元格。
cell_to_access= ws['A5']
为了得到单元格的值,我们必须使用value属性。
cell_value = ws['A5']
5、更改单元格的值
我们可以使用下面的代码行来更改excel表中的任何值。
ws['B1'].value="Second Tab"
我们还需要保存更改,如下所示。
wb.save("my_demo_sheet.xlsx")
6、获取 sheet 名称
如果您想知道工作簿中可用工作表的名称,可以使用下面的python代码行在列表表单中获取工作表的名称。
print(wb.sheetnames)
7、访问其他 sheet
使用.active属性,我们可以访问默认的活动工作表。如果您想访问另一个工作表,那么我们可以按以下操作:
ws = wb["summary"]
8、创建新sheet
要在同一excel工作簿中创建新工作表,可以使用 create_sheet(),如下所示。在修改工作表时,我们需要保存工作簿以将更改应用到excel工作簿。
wb.create_sheet("Index_sheet")
wb.save("test1.xlsx")
9、创建新工作簿
创建一个新的Excel工作簿非常简单。我们需要调用函数Workbook()。由于这是一个新工作簿,我们需要将工作表设置为默认工作表。我们还可以使用title属性更改工作表的名称。
wb = Workbook()
定义默认图纸
ws = wb.active
ws.title = "Demo_data"
10、向工作表中添加数据
一旦定义了工作表,就可以使用append函数添加数据。这将按行添加数据。
ws.append(["This","Is", "A", "Header"])
ws.save("New_WB.xlsx")
11、添加新行
我们可以使用insert_rows()添加任意数量的行。此函数以行号作为输入。
for i in range(2):
ws.insert_rows(row_num)
12、删除行
我们可以使用delete_rows()函数删除任何行。此函数以列号作为输入。
for i in range(3):
ws.delete_rows(col_num)
13、添加新列
如果要插入任何列,那么insert_cols()函数可以使用循环添加任何列。此函数以列号作为输入。
ws.insert_cols(column_number)
14、删除列
若要删除任何列,可以使用delete_cols()函数,将列号作为输入。
ws.delete_cols(column_number)
15、在excel工作表中移动数据
假设您有一个包含数据的excel工作表,并且希望将行或列的任何部分移动到另一个位置。
我们可以使用move_range()来移动数据。此函数接受三个参数—选定的数据、要移动的行数(+N,-N)和要移动的列数(+N,-N)。
ws.move_range("B2:D9", rows=0, cols=2 )
结论
本文到此为止,我们讨论了自动化 excel 任务的不同场景。这些任务也可以在excel中手动完成。但是,如果有一些重复的场景,可以根据需求在这个自动化策略上投入一些时间来节省日常时间。
技术交流
欢迎转载、收藏本文,码字不易,有所收获点赞支持一下!
为方便进行学习交流,本号开通了技术交流群,添加方式如下:
直接添加小助手微信号:pythoner666,备注:CSDN+python,或者按照如下方式添加均可!
以上是关于Python 自动化 Excel ?这15个技巧要会!的主要内容,如果未能解决你的问题,请参考以下文章
Python+Selenium进行UI自动化测试项目中,常用的小技巧3:写入excel表(python,xlsxwriter)