Excel和Python整合使用,很神奇!
excelperfect
标签:Excel与Python,pandas,工具库
当一起使用Excel和Python时,就会产生神奇的效果。
Excel,一款经典软件,简单的用户界面,易于理解,被数十亿人使用。Python,一种功能强大且灵活的编程语言,得到了广大社区的支持。Python并没有取代Excel,但我们可以一起使用它们。
这里,先看看Excel和Python之间的相似和差异。
界面
Excel:工作簿,工作表,单元格区域,单元格
Python:IDE(代码)
Excel的图形用户界面和Python的IDE之间确实没有太多相似之处。然而,Python的秘密武器是它数量巨大且强大的库。有几个用于与Excel文件交互的库,重点介绍的是其中最重要的一个——pandas,用于数据分析的最强大且最广泛使用的Python库之一。pandas的名字来源于“面板数据”。
看看下面图1和图2的比较。在图1中,有一张名为“个人号”的Excel工作表。在图2中,使用Python将整个工作表作为pandasDataFrame来读取,然后将其命名为“person_card”,其中包含与图1中Excel工作表完全相同的数据。Pandas DateFrame本质上是一个包含数据的二维表,类似于Excel,其中有行。
图1:简单的Excel工作表(Excel:工作簿,工作表)
图2:简单的Python pandas示例(Python:pandas DataFrame)
Excel可以有多个工作簿或工作表。然而,在Python环境中,可以有包含相同Excel数据的各种数据框。
要一起使用Python和Excel,必须改变我们的思维方式。我们不需要盯着电子表格看,而是需要在心里想象数据表。如果能够做到这一点,那么使用Python控制Excel就不会有问题。
计算
看下面的例子来计算正方形的面积。在Excel中,我们使用单元格和公式,在Python中,我们使用变量和公式。你认为逻辑看起来几乎一样吗?
图3:Excel
图4:Python
每个Python变量就像一个包含一些数据的“单元”,可以通过在Python中键入变量名来引用这些“单元格”。
多重计算
我们经常需要同时计算许多项。例如,计算10年内每年的复利系数,我们可以像下面这样做。注意,在下面的Python示例中,循环不是pandas中的正确方法,只是特意使用了一个循环来展示这个概念。
Excel
最有可能的情况是,Excel用户首先在单元格B3中设置公式:=B2*(1+2%),然后向下拖动复制。
图5:在Excel中的复利计算
Python
这是一个很好的循环示例。当前系数=先前系数*1.02,并且计算在pandas数据框架内执行。
图6:在Python pandas中的复利计算
我想说的是,无论是哪种计算,Excel和Python之间的底层逻辑都是相同的。有了pandasDataFrame这样的表的帮助,如果已经知道如何使用Excel,我相信你也将能够快速学习Python!
访问数据
从前面的示例中可以看到,在Excel中访问数据需要单击(引用)单元格,这是在图形用户界面中完成的。而对于Python,我们需要通过键入代码来访问数据,即通过编程方式。可以使用公式“=B1”通过引用来获取单元格的值,也可以通过键入命令来获取数据框架中任何“单元格”的值。
“图形用户界面更容易使用”,从这个角度来看,你可能会认为Python很难使用,但请再想一想。假设你需要将相同的格式或公式应用于数百个不同的文件,你会为每个文件手动执行100次,还是只编写一个包含4行代码,让计算机为你完成繁琐的工作?答案已经很清楚了。
这里,我们已经比较了Excel和Python,接下来我们将深入细节,学习如何使用Python控制Excel!
注:本文学习整理自pythoninoffice.com。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。