python做excel自动化的方法

  

python做excel自动化的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

python做excel自动化的方法:首先安装python工具包,然后从指定文件路径读取excel表格,进行一定操作,接着保存到另一个excel文件,最终调用【excel_update】方法即可。

<强> python做excel自动化的方法:

<强>一、工具包

1, xlrd:从excel电子表格中提取数据,医生地址:https://xlrd.readthedocs。io/en/最近/

2, xlwt:将数据写入Excel电子表格,医生地址:https://xlwt.readthedocs.org/en/latest/

3, xlutils:提供一组处理Excel文件的实用程序,医生地址:https://xlutils.readthedocs。io/en/最近/

<强>二、安装

python - m pip安装xlrd xlwt xlutils

<强>三,基本用法

python操作excel的相关工具包可以具体到操作指定单元格的填充样式,数值类型,数值大小等等。然而python操作excel需要一定大熊猫数据处理功底,后续将补上章节:大熊猫数据处理技能

<强> 1,从指定文件路径读取excel表格,进行一定操作,然后保存到另一个excel文件:结果。xlsx

进口xlwt   进口xlrd   从xlutils。复制进口复制   熊猫作为pd导入   从熊猫进口DataFrame系列   进口操作系统   os.chdir (& # 39;。/& # 39;)   #从指定文件路径读取excel表格   df=pd.read_excel (& # 39; D:/mypaper/数据/data.xlsx& # 39;)   #查看df内容   #根据年龄算出出生年份,增加一列   进口日期时间   进口操作系统   年=datetime.datetime.now()岁#获取当前系统时间对应的年份   df(& # 39;出生# 39;]=year-df[& # 39;年龄# 39;】   df.to_excel (& # 39; result.xlsx& # 39;) #保存到当前工作目录,可以用os.getcwd()查看   #查看下此时df的内容,可以看到已经生成了出生这一列

乍看好像只用到了熊猫,还没有用到上面介绍的三个工具包,下面介绍利用python操作excel底层

<强> 2,单元格操作

#定义方法:读取指定目录下excel文件某个板单元格的值   def excel_read (file_path表,x, y):   data=https://www.yisu.com/zixun/xlrd.open_workbook (file_path)   表=data.sheet_by_name(表)   返回table.cell (y, x) value   #定义方法:单元格值及样式   write_obj_list=[]   def concat_obj(关口、行值):   write_obj_list.append({“关口”:关口,“行”:行,“价值”:值,/胺绺瘛?xlwt。easyxf(字体:名字宋体、身高280;对齐:水平的中心”)})   #定义方法:合并单元格   def merge_unit (srows erows scols,生态,值):   write_obj_list.append ({“id”:“合并”,“srows”: srows,“erows”: erows,“scols”: scols,/凹壑怠?“生态”:生态:价值,“风格”:xlwt。easyxf(字体:名字宋体、身高280;对齐:水平的中心”)})   #定义方法:更新excel   excel_update (file_path write_obj_list new_path):   old_excel=xlrd。open_workbook (file_path formatting_info=True)   #管道作用   new_excel=复制(old_excel)   “‘   通过get_sheet()获取的表有写()方法   “‘   sheet1=new_excel.get_sheet (0)   “‘   1代表是修改第几个工作表里,从0开始算是第一个。此处修改第一个工作表   “‘   在write_obj_list:项   如果“id”不在item.keys ():   如果“风格”item.keys ():   sheet1。写(项目(“行”),项目(“关口”)项目(“价值”)项目(“风格”))   其他:   sheet1。写(项目(“行”),项目(“关口”)项目(“价值”))   其他:   如果“风格”item.keys ():   sheet1。write_merge(项目(“srows”),项目(“erows”),项目(“scols”),项目“生态”,项目(“价值”)项目(“风格”))   其他:   sheet1。write_merge(项目(“srows”),项目(“erows”),项目(“scols”),项目“生态”,项目(“价值”))   “‘   如果报错dict_items没有属性   把syle源码中——alist.sort()修改为- - - - ->排序(倾斜的)   一共修改2次   “‘   new_excel.save (file_path)   #参数详解   # srows:合并的起始行数   # erows:合并的结束行数   # scols:合并的起始列数   #生态:合并的结束列数   #价值:合并单元格后的填充的值   #风格:合并后填充风格:   #字体:名字宋体   #身高280;   #对齐:水平的中心   #……与excel操作基本保持一致

注意:该方法仅仅是将需要直行的动作保存到一个列表中,真正的动作还未执行,执行动作是发生在excel_update方法中

python做excel自动化的方法