Python 自动化 Excel ?这15个技巧要会!
优采云 发布时间: 2022-05-09 05:25Python 自动化 Excel ?这15个技巧要会!
Python是一种了不起的编程语言。它更容易学习和适应。python中的错误消息是可以很好理解的。我们不需要花费数小时来找到错误消息的解决方案。这就是为什么我喜欢这种编程语言。
我认为这应该是理想的编程语言。编程语言的目标应该是帮助我们构建令人兴奋的产品,而不是在解决错误上浪费时间。
最近,我学习了如何使用python自动化excel任务。我想和更多的朋友分享这些神奇的技巧。你可以使用自己选择的代码编辑器。在本文中,我将使用Jupyter笔记本进行演示。
1、安装所需的库
我们需要安装一个python库openpyxl。在命令提示符中键入以下命令。
pip install openpyxl<br />
2、加载现有工作簿
如果您有一个现有的excel工作簿,并且希望从特定的工作表中读取数据或将数据修改到任何工作表中,则openpyxl提供了一个名为 load_workbook() 的函数,可按如下方式使用。
from openpyxl import Workbook, load_workbook<br />wb = load_workbook('my_demo_sheet.xlsx')<br />
3、访问工作表
如果要访问活动工作表中的内容。然后工作簿有一个名为active的属性,可以帮助我们指向活动工作表。
ws = wb.active<br />print(ws)<br />
但是,如果你想指定其他的 sheet,我们可以这样做。
在这里,我从我的excel表访问sheet2。
ws = wb["Sheet2"]<br />
4、访问单元格值
一旦定义了工作表,就可以引用工作表中的任何单元格。
cell_to_access= ws['A5']<br />
为了得到单元格的值,我们必须使用value属性。
cell_value = ws['A5']<br />
5、更改单元格的值
我们可以使用下面的代码行来更改excel表中的任何值。
ws['B1'].value="Second Tab"<br />
我们还需要保存更改,如下所示。
wb.save("my_demo_sheet.xlsx")<br />
6、获取 sheet 名称
如果您想知道工作簿中可用工作表的名称,可以使用下面的python代码行在列表表单中获取工作表的名称。
print(wb.sheetnames)<br />
7、访问其他 sheet
使用.active属性,我们可以访问默认的活动工作表。如果您想访问另一个工作表,那么我们可以按以下操作:
ws = wb["summary"]<br />
8、创建新sheet
要在同一excel工作簿中创建新工作表,可以使用 create_sheet(),如下所示。在修改工作表时,我们需要保存工作簿以将更改应用到excel工作簿。
wb.create_sheet("Index_sheet")<br />wb.save("test1.xlsx")<br />
9、创建新工作簿
创建一个新的Excel工作簿非常简单。我们需要调用函数Workbook()。由于这是一个新工作簿,我们需要将工作表设置为默认工作表。我们还可以使用title属性更改工作表的名称。
wb = Workbook()<br />
定义默认图纸
ws = wb.active<br />ws.title = "Demo_data"<br />
10、向工作表中添加数据
一旦定义了工作表,就可以使用append函数添加数据。这将按行添加数据。
ws.append(["This","Is", "A", "Header"])<br />ws.save("New_WB.xlsx")<br />
11、添加新行
我们可以使用insert_rows()添加任意数量的行。此函数以行号作为输入。
for i in range(2):<br /> ws.insert_rows(row_num)<br />
12、删除行
我们可以使用delete_rows()函数删除任何行。此函数以列号作为输入。
for i in range(3):<br /> ws.delete_rows(col_num)<br />
13、添加新列
如果要插入任何列,那么insert_cols()函数可以使用循环添加任何列。此函数以列号作为输入。
ws.insert_cols(column_number)<br />
14、删除列
若要删除任何列,可以使用delete_cols()函数,将列号作为输入。
ws.delete_cols(column_number)<br />
15、在excel工作表中移动数据
假设您有一个包含数据的excel工作表,并且希望将行或列的任何部分移动到另一个位置。
我们可以使用move_range()来移动数据。此函数接受三个参数—选定的数据、要移动的行数(+N,-N)和要移动的列数(+N,-N)。
ws.move_range("B2:D9", rows=0, cols=2 )<br />
结论
本文到此为止,我们讨论了自动化 excel 任务的不同场景。这些任务也可以在excel中手动完成。但是,如果有一些重复的场景,可以根据需求在这个自动化策略上投入一些时间来节省日常时间。
精选文章
腾讯课堂 | Python网络爬虫与文本分析<br />B站视频 | Python自动化办公语法最简单的微博通用爬虫weibo_crawler<br />发布一个智能解析算法库<br />hiResearch 定义自己的科研首页<br />大邓github汇总, 觉得有用记得starmultistop ~ 多语言停用词库Jaal 库 轻松绘制动态社交网络关系图SciencePlots | 科研样式绘图库使用streamlit上线中文文本分析网站爬虫实战 | 采集&可视化知乎问题的回答Clumper | dplyr式的Python数据操作包<br />Clumper库 | 常用的数据操作函数<br />Clumper库 | Groupby具体案例用法<br />Clumper库 | 其他数据分析<br />plydata库 | 数据操作管道操作符>>plotnine: Python版的ggplot2作图库读完本文你就了解什么是文本分析<br />文本分析在经管领域中的应用概述 综述:文本分析在市场营销研究中的应用<br />plotnine: Python版的ggplot2作图库Wow~70G上市公司定期报告数据集<br />漂亮~pandas可以无缝衔接Bokeh YelpDaset: 酒店管理类数据集10+G