在数字化时代,很多人工作中经常和excel打交道。本文介绍Python操作excel的脚本,让你工作效率更高。
一、安装openpyxl模块
Python操作excel主要用到了openpyxl模块,按win+R打开cmd,在里面输入
pip3 install openpyxl
即可成功安装openpyxl模块。
二、加载库
接着加载库,并设置数据存放的文件夹。
import os
import random
import openpyxl
import numpy as np
import pandas as pd
from openpyxl.drawing.image import Image
from openpyxl.worksheet.table import Table,TableStyleInfo
from openpyxl.styles import Border, Side, PatternFill, Font, GradientFill, Alignment
from openpyxl.utils import get_column_letter,column_index_from_string
#导入库
os.chdir(r'G:/python/13_python处理excel/')
#设置文件存放的地址
三、创建文件和工作表
接着创建文件和工作表,代码如下:
wb = openpyxl.Workbook()
#创建工作表
wb_sht1 = wb.create_sheet(title='插入数据', index=0)
wb_sht2 = wb.create_sheet(title='插入表格', index=0)
wb.save('cs.xlsx')
wb.close()
得到结果:
也可以用函数删除工作表,代码如下:
wb.remove(wb_sht1)
四、在工作表指定单元格写数据
接着在工作表中写数据,代码如下:
#在每一行写入行号
wb = openpyxl.Workbook()
#创建工作表
wb_sht1 = wb.create_sheet(title='插入数据', index=0)
wb_sht2 = wb.create_sheet(title='插入表格', index=0)
for r_index in range(1, 10):
for c_index in range(1, 10):
wb_sht1.cell(row=r_index, column=c_index, value=r_index)
两层for循环控制在相应位置写下行号,得到结果:
五、设置单元格的颜色字体
接着在A1单元格测试设置字体大小、颜色、边框线条,代码如下:
thin = Side(border_style="thin", color="FF0000")
#红色细线条
double = Side(border_style="double", color="000000")
#黑色粗线条
wb_sht1_A1 = wb_sht1["A1"]
#选择要调整颜色的单元格
wb_sht1_A1.font = Font(b=True, color='008000')
#设置单元格字体颜色
wb_sht1_A1.alignment = Alignment(horizontal='left', vertical='center')
#设置单元格排列方式
wb_sht1_A1.border = Border(top=double, left=thin, right=thin, bottom=double)
#设置边框线条
wb_sht1_A1.fill = PatternFill("solid", fgColor="0000FF")
#设置单元格填充颜色
得到结果:
六、在excel中写入表格
最后在excel中写入表格,代码如下:
os.chdir(r'G:/python/13_python处理excel/')
#设置文件存放的地址
wb = openpyxl.Workbook()
#创建工作表
wb_sht1 = wb.create_sheet(title='插入数据', index=0)
wb_sht2 = wb.create_sheet(title='插入表格', index=0)
date = pd.DataFrame(np.random.randint(20, 50, (4, 4)))
col_name = ['col1', 'col2', 'col3', 'col4']
date.columns = col_name
wb_sht2.append(col_name)
for row in range(date.shape[0]):
wb_sht2.append(list(date.iloc[row, ]))
table = Table(id=1, displayName='excel_table3', ref='A1:D4')
wb_sht2.add_table(table)
wb.save('cs1.xlsx')
wb.close()
得到结果:
至此,用Python中的openpyxl模块操作excel代码已讲解完毕。感兴趣的小伙伴可以更深入地测试这些代码。
本文只给出了基础代码,更多特殊需求,可以在此代码的基础上进行调整。
如果想在excel中设置好格式,只把数据粘贴到文档中,还可以调用xlwings模块进行excel操作。
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典