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自动化的方法