python中操作excel,python可以对excel进行那些操作

  python中操作excel,python可以对excel进行那些操作

  为什么一定要依靠excel强大的统计分析能力才能学会在机器学习模型的建立中使用Excel?这时候就涉及到如何将python直接处理的数据存储到Excel表中,并从表中获取数据进行分析。简单来说,学会使用Python操作Excel文件后,可以应用到机器学习中,也可以将日常生活中繁琐的工作自动化。

  用Python处理Excel的Excel基本包是openpyxl。如果你直接下载anaconda安装的Python库,那么当你下载的时候,你已经安装了openpyxl。如果没有,可以使用pip install openpyxl直接在cmd中安装。

  安装完成后,我们应该了解了Excel的组件,如下图所示:

  看到上图就应该知道了。首先,我们应该得到Excel文件:

  WB=openpyxl . load _ workbook( 1234 . xlsx )对于已有的excel目标文件,可以使用上述方法直接获取Excel文件。如果您想重新创建一个全新的Excel文件,请尝试以下方法:

  Wb=openpyxl。Workbook()取得了Excel,但实际上我们的数据都是一个个表格,如下图所示:

  一个Excel文件中可以有多个表格。一般来说,第一张表是操作的,获取表的方式有很多,比如:

  Sheet=WB。Worksheets [0] sheet=WB [吸气类]以上两种方法都是为了获取第一张表。如果我们用wb=openpyxl呢?工作簿()来创建新的Excel?我们需要创建一个操作表:

  Wb.create_sheet(index=0,title= piggy )WB . create _ sheet(index=1,title= page )当我们拿到表单后,就可以愉快地操纵我们的数据了。

  例如,此时,如果您想要获取表格中单元格A1中的文本,您可以使用以下方法:

  工作表[A1]。value以上是获取单个单元格的数据。现在,我需要遍历某个表中的所有数据。我该怎么办?让我们首先假设我有以下形式:

  那么遍历的代码如下:

  import openpyxlwb=openpyxl . load _ workbook( 1234 . xlsx )sheet=WB . worksheets[0]for row in sheet . ITER _ rows():for cell in row:print(cell . coordinate,Cell.value)逐行遍历。首先,我们获取Excel文件,然后获取其中的第一个表,然后通过获取行数和列数来遍历它。openpyxl通过sheet.iter_rows()获取行数,列数可以直接由当前行获取,即对于行中的单元格。代码简洁明了,实现效果如下:

  那么如何修改数据呢?让我们先来看看代码:

  工作表[a1]。value= 111111 工作表。单元格(1,1)。value= 111111 工作表。单元格(1,1, 11111 )。您可以在Excel中修改单元格数据,也可以通过前两种方法获取该单元格的值。

  做完这些操作,我们还有一件事要做,就是如果保存我们创建或者修改的Excel,其实很简单,一句话就可以了。代码如下:

  Wb.save(1234.xlsx )这样操作的数据会保存到当前目录下的1234.xlsx,也可以写绝对路径。

  Excel风格在我们的日常生活中,Excel表格不仅仅是写数据、修改数据、保存数据等简单的操作,还可以让Excel更加美观,比如修改一些字体、边框样式等等。

  字体那就好,先说一下如何修改字体样式。我们在openpyxl中有一个特殊的字体样式,可以通过以下方式导入。使用的代码如下:

  Openpyxl.styles导入字体,图案填充,边框,侧边,对齐font=font (name= Microsoft Yahei ,size=10,bold=false,italic=false,vertalign=none,Underline= none ,strike=false,color= ff00000 )这里我们先介绍Excel中的字体样式,然后通过构造函数,创建一个样式。比如这里创建的字体是微软雅荷,字号10,无粗体,无斜体,无下划线,无删除线,颜色为黑色。

  毕竟我们已经创建了一个样式,下一步就是将样式设置到单元格中。例如,将刚才的样式设置到表11的单元格中。以下两种方式都可以,代码如下:

  工作表[a1]。font=font sheet.cell (1,1)。font=字体填充样式做完字体样式之后,第二个最常用的就是填充样式,比如用背景色或者填充图案填充一个单元格等等。我们先来看看代码的运行方式:

  fill=pattern fill(fill _ type= darkup ,start _ color= ffff00 ,end _ color= ff 0000 )sheet . cell(1,1)。fill=fill此代码实现了以下样式:

  可以看到它的图案类型是darkUp,起始色是红色,结束色是红色,填充的是红黄相间的网格图案。当然,还有许多其他模式类型,以下是全部:

  {gray0625 , lightHorizontal , darkVertical , darkGray , darkDown , lightTrellis , darkHorizontal , gray125 , lightGray ,Light Down,Light Up,Medium Gray,Dark Kup,Dark Grid,Dark Trellis,Light Vertical,Light Grid}使用哪一种,你要根据自己的需求自由选择。需要注意的是,当图案是纯色时,默认情况下只填充start_color颜色。

  边框样式第三个要介绍的是边框样式。在实际工作中,可以说边框风格也用的比较多。了解一下对实际工作还是有好处的。操作代码如下:

  Border=Border(left=Side(Border _ style= dash dot dot ,color=9932CC ),right=Side(Border _ style= dash dot dot ,color=121212 ),top=Side(Border _ style= dash dot dot ,color=8B0A50 ),bottom=Side(Border _ style= dash dot dot ,color= B3 ee3a ). sheet . cell(5,4)。边框=边框。上面设置了上、下、左、右边框的颜色和样式。在这里,我将它们设置为虚线。随机选取四种较深的颜色,达到的效果如下图所示(上红下绿左紫右黑):

  当然,边框的参数很多。如果想更广泛地使用它们,可以参考openpyxl开发文档。Blogger这里只介绍最常用的边框样式。

  对齐样式最后一种样式是对齐样式。与以上三种风格相比,这种对齐风格几乎每次都会用到。现在让我们先将单元格居中对齐。代码如下:

  alignment=alignment(horizontal= center ,vertical= center ,text _ rotation=0,indent=0) sheet.cell (5,3)。alignment=alignment在这里,我们将对齐样式设置为水平居中、垂直居中,文本旋转角度为0(最大180),缩进为0,比如

  当然,这种对齐方式还有许多其他参数,但这些是最常用的参数。如果想了解其他的,请去openpyxl开发文档了解最详细的参数。这里就不多赘述了。

  Excel的公式链接公式样式完成。我们还需要介绍Excel公式的应用。比如有些Excel表格中有链接,我们就需要用公式把链接设置成可点击的超链接。同样,在计算一些数值的时候,我们也会用到Excel公式。让我们首先解释如何使URL链接可点击。代码如下:

  Sheet.cell (6,3)。value==hyperlink (%s , % s)% (3359 www.baidu.com ,百度点击)。上面的代码很简单理解,就是我想在第六行第三列输入百度,百度可以点击跳转到指定的网页(。

  其实这是excel里的公式。当然也可以将exe文件设置在某个目录下,点击后直接执行exe。也可以设置跳转到某个单元格。例如,如果要单击它并跳转到A1,代码如下:

  Sheet.cell (6,3)。value==hyperlink (%s , % s)% (# A1 ,跳转到A1 )计算公式运算现在我还有需要。例如,我想计算下表中五个数字A1到E1的和。在Excel中应该怎么做?

  其实和上面一样。只要知道Excel中的计算和公式,就可以直接应用到代码中,所以即使是编程小白,也基本可以掌握公式的应用规则,因为懂Excel的人都会知道。代码如下:

  sheet[ f1 ]==sum(A1:E1) Excel单元格的合并和拆分已经介绍的差不多了,但是博主刚刚想起来应该还有一种常见的操作方式,就是合并单元格。在这里,我们也先来看一个代码:

  sheet . Merge _ cells( A1:E1 )Merge也是一个操作表结构。在这里,通过合并上表中的数字,我们可以看到我们已经合并了从A1到E1的所有单元格。同时,合并的单元格显示第一个单元格的内容。

  俗话说,合并就要分裂。同样,我们也需要分裂细胞。然后,我们将分割的细胞先合并成它们原来的样子。代码如下:

  Sheet.unmerge_cells(A1:E1 )很简单,在代码前面加个un就行了,但是这里有一点需要注意。只是合并单元格,默认填充第一个单元格的数据,但是拆分单元格不会自动填充数据。原始的完整数据显示在第一个单元格中,而其他拆分的单元格将不显示任何数据。

  总结了这么多,相信对经常使用Excel的朋友会有帮助。如果是你写的,记得给它点个赞!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: