赞
踩
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")
2、选择工作表
一旦打开了Excel文件,我们就需要选择要操作的工作表。可以使用workbook.active属性来打开第一个工作表,或者workbook[‘工作表’]打开。比如我们要打开"Sheet1"工作表,代码如下:
# 选择工作表worksheet = workbook['Sheet1']
3、读取单元格的值
我们需要读取单元格的值,用到的是workbook.cell(row,column)这个方法来读取,cell里面的参数是单元格中的行和列(row:行,column:列),比如我们要读取’A2’单元格中的值。代码如下:
# 读取A2单元格的值 row:行,column:列value = worksheet.cell(row=2,column=1).valueprint(value)
"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)
然后保存到"01a.xlsx"文件中,我们可以用workbook.save(filename)方法保存,里面的参数是文件名或路径。代码如下:
保存到01a.xlsx文件中# workbook.save("01a.xlsx")
打开"01a.xlsx"文件,可以看到写入的值。
5、设置单元格格式
openpyxl库允许我们设置单元格格式,比如设置字体大小,加粗,倾斜,颜色等,我们需要导入从openpyxl库中导入Font函数。代码如下
from openpyxl.styles import Font,colors,PatternFill,
'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")
为了方便演示 将结果保存到"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")
结果如下:
同样地,也可以对单元格设置边框。我们可以用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"), # 水平)
关于颜色的设置,可以参考官网的颜色类型,选择哪种颜色,可以复制上面的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")
结果如下:
当然也可以设置对齐方式,用到的是’Alignment’函数,也需要导入,具体参数和代码如下:
from openpyxl.styles import Alignment,
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")
结果如下:
另外还可以对单元格合并操作,采用的是worksheet.merge_cell()方法,比如合并’C1:D1’单元格,相关代码如下:
# 单元格合并 C1和D1合并worksheet.merge_cells("C1:D1")workbook.save("02g.xlsx")
结果如下:
同样也可以设置单元格的列宽和行高,用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")
结果如下:
以上是用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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。