当前位置:   article > 正文

python如何操作excel_python打开excel文件

python打开excel文件

python是一门比较流行的编程语言,它可以用于处理和操作各种数据类型,包括Excel电子表格。本文中将介绍如何用python操作Excel电子表格。

python有几个第三方库可以操作Excel,包括openpyxl、xlwt、pandas。本文中将使用openpyxl。

首先,我们需要安装一下openpyxl第三方库,可以使用pip包管理器安装:
在这里插入图片描述

安装好库之后,我们可以开始操作Excel电子表格。

1、打开Excel文件

首先,我们需要打开Excel文件,我们可以使用openpyxl库中的load_workbook()函数来打开,该函数的参数是打开Excel文件的文件名或路径,比如要打开文件名"01.xlsx"。可以用以下代码:

from openpyxl import load_workbook,Workbook# 打开文件 文件名为01.xlsxworkbook = load_workbook(filename="01.xlsx")
  • 1

2、选择工作表

一旦打开了Excel文件,我们就需要选择要操作的工作表。可以使用workbook.active属性来打开第一个工作表,或者workbook[‘工作表’]打开。比如我们要打开"Sheet1"工作表,代码如下:

# 选择工作表worksheet = workbook['Sheet1']
  • 1

3、读取单元格的值

我们需要读取单元格的值,用到的是workbook.cell(row,column)这个方法来读取,cell里面的参数是单元格中的行和列(row:行,column:列),比如我们要读取’A2’单元格中的值。代码如下:

# 读取A2单元格的值 row:行,column:列value = worksheet.cell(row=2,column=1).valueprint(value)
  • 1

"01.xlsx"示例表如下:

图片

读取’A2’值如下:

图片

4、写入单元格的值

除了可以读取单元格里面的值,我们还可以写入单元格的值,可以使用’workbook.cell(row,column,value)'方法写入。该方法前面的第一个参数和第二个参数分别是单元格中的行和列,第三个参数是要写入的单元格的值。比如我们要往’A5’和’B5’中分别写入mask和5。代码如下:

worksheet.cell(row=5,column=1,value="mask")worksheet.cell(row=5,column=2,value=5)
  • 1

然后保存到"01a.xlsx"文件中,我们可以用workbook.save(filename)方法保存,里面的参数是文件名或路径。代码如下:

保存到01a.xlsx文件中# workbook.save("01a.xlsx")
  • 1

打开"01a.xlsx"文件,可以看到写入的值。

图片

5、设置单元格格式

openpyxl库允许我们设置单元格格式,比如设置字体大小,加粗,倾斜,颜色等,我们需要导入从openpyxl库中导入Font函数。代码如下

from openpyxl.styles import Font,colors,PatternFill,
  • 1

'Font’函数参数比较多,'name’参数是字体名称,比如宋体、微软雅黑等,'size’参数指的是字体的大小,'bold’参数指的是字体是否加粗,'underline’参数指的是下划线,'italic’参数是倾斜,color是字体颜色。

比如我们对单元格A1设置字体为微软雅黑。字体加粗,字体大小为12,颜色为蓝色,代码如下:

font_set = Font(name="微软雅黑",  # 字体名称                size=12,  # 字体大小                bold=True, # 是否加粗                underline="none", # 下划线                italic=False, # 斜体                color=colors.BLUE, # 字体颜色 蓝色                )# 选择工作簿worksheet = workbook['Sheet1']# 对 A1单元格设置字体风格worksheet.cell(row=1,column=1).font = font_set# workbook.save("01b.xlsx")
  • 1

为了方便演示 将结果保存到"01b.xlsx”文件中,打开该文件可以看到结果如下

在这里插入图片描述

还可以对单元格做颜色填充,用到是’PatternFill’函数,同样也需要导入该函数,里面的参数’fill_type’是填充类型,'start_color’参数是起始颜色,'end_color’是末尾颜色。比如我们需要对’A2’单元格做颜色填充,代码如下:

from openpyxl.styles import Font,colors,PatternFill
fill = PatternFill(fill_type=None, # 填充类型                   start_color="0000FF00", # 开始颜色                   end_color="00FFFF99",  # 末尾颜色                   )yellow_fill = PatternFill(fill_type="solid", # 纯色                          start_color=colors.YELLOW, # 黄色                          end_color=colors.YELLOW,                           )# 对A2单元格进行颜色填充worksheet.cell(row=2,column=1).fill =yellow_fill# 保存到01c.xlsx# workbook.save("01c.xlsx")
  • 1
  • 2

结果如下:

图片

同样地,也可以对单元格设置边框。我们可以用openpyxl的’Border’和’Side’函数。具体参数解释和代码如下:

from openpyxl.styles import Border,Side
# 设置边框格式 border_style:边框类型,color:边框颜色border = Border(    left=Side(border_style="thin",color="00FF00FF"),# 左边框    right=Side(border_style="thin",color="00FF00FF"),# 右边框    top=Side(border_style="thin",color="00FF00FF"), # 上边框    bottom = Side(border_style="thin",color="00FF00FF"),# 下边框    diagonal=Side(border_style="thin",color="00FF00FF"),# 对角线    outline=Side(border_style="double",color="00FF00FF",),# 外边框    vertical=Side(border_style="thin",color="00FF00FF"), # 垂直    horizontal=Side(border_style="thin",color="00FF00FF"), # 水平)

  • 1
  • 2
  • 3

关于颜色的设置,可以参考官网的颜色类型,选择哪种颜色,可以复制上面的RGB数值,截图如下:

图片

比如我们设置边框颜色为粉红色’00FF00FF’,我们选择批量设置边框,包括前面的字体设置和颜色填充。采用的for循环做迭代处理,具体代码如下:

for row in worksheet.iter_rows():    for cell in row:        cell.font = font_set        cell.fill = yellow_fill        cell.border = borderworkbook.save("01e.xlsx")

  • 1
  • 2

结果如下:

图片

当然也可以设置对齐方式,用到的是’Alignment’函数,也需要导入,具体参数和代码如下:

from openpyxl.styles import Alignment,

  • 1
  • 2

alignment_set = Alignment(

horizontal=, 水平
vertical"center"# =, 文本方向
wrap_textFalse, 文本是否覆盖
shrink_to_fitFalse, 缩放形式
indent0# )

同样也可以批量对单元格设置对齐,设置水平和垂直居中对齐,具体代码如下:

# 批量处理单元格对齐for row in worksheet.iter_rows():    for cell in row:        cell.alignment = alignment_set# workbook.save("02c.xlsx")
  • 1

结果如下:

图片

另外还可以对单元格合并操作,采用的是worksheet.merge_cell()方法,比如合并’C1:D1’单元格,相关代码如下:

# 单元格合并 C1和D1合并worksheet.merge_cells("C1:D1")workbook.save("02g.xlsx")
  • 1

结果如下:

图片

同样也可以设置单元格的列宽和行高,用worksheet.column_dimensions[column].width设置列宽,用worksheet.row_dimensions[row].height设置行高,比如对A列设置列宽为20,行高为30。具体代码如下:

worksheet.column_dimensions['A'].width = 20worksheet.row_dimensions[1].height = 30# workbook.save("02f.xlsx")
  • 1

结果如下:

图片

以上是用python的openpyxl库操作Excel的一些基本操作,下期将分享用python的openpyxl库绘制常见的图表,感谢大家的关注。

-END-


学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、自动化测试带你从零基础系统性的学好Python!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/158919
推荐阅读
相关标签