幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

Python处理Excel效率高十倍(下篇)通篇硬干货,再也

  《用Python处理Excel表格》下篇来啦!
  身为工作党或学生党的你,平日里肯定少不了与Excel表格打交道的机会。当你用Excel处理较多数据时,还在使用最原始的人工操作吗?现在教你如何用Python处理Excel,从此处理表格再也不加班,时间缩短数十倍!
  上篇我们进行了一些事前准备,目的是用Python提取Excel表中的数据。而这一篇便是在获取数据的基础上,对Excel表格的实操处理。操作
  创建新的excel
  第9行代码用来指定创建的excel的活动表的名字:
  不写第9行,默认创建sheet
  写了第9行,创建指定名字的sheet表importosimportopenpyxlpathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。Workbook()sheetworkbook。activesheet。title1号sheetworkbook。save(1。xlsx)
  修改单元格、excel另存为
  第9行代码,通过给单元格重新赋值,来修改单元格的值
  第9行代码的另一种写法sheet〔B1〕。valueage
  第10行代码,保存时如果使用原来的(第7行)名字,就直接保存;如果使用了别的名字,就会另存为一个新文件importosimportopenpyxlpathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表sheet〔A1〕nameworkbook。save(test。xlsx)
  添加数据
  插入有效数据
  使用append()方法,在原来数据的后面,按行插入数据importosimportopenpyxlpathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))data〔〔素子,23〕,〔巴特,24〕,〔塔奇克马,2〕〕forrowindata:sheet。append(row)使用append插入数据workbook。save(test。xlsx)
  插入空行空列
  insertrows(idx数字编号,amount要插入的行数),插入的行数是在idx行数的下方插入
  insertcols(idx数字编号,amount要插入的列数),插入的位置是在idx列数的左侧插入importosimportopenpyxlpathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))sheet。insertrows(idx3,amount2)sheet。insertcols(idx2,amount1)workbook。save(test。xlsx)
  删除行、列
  deleterows(idx数字编号,amount要删除的行数)
  deletecols(idx数字编号,amount要删除的列数)importosimportopenpyxlpathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))sheet。deleterows(idx10)删除第10行sheet。deletecols(idx1,amount2)删除第1列,及往右共2列workbook。save(test。xlsx)
  移动指定区间的单元格(moverange)
  moverange(数据区域,rows,cols):正整数为向下或向右、负整数为向左或向上importosimportopenpyxlpathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))sheet。moverange(D11:F12,rows0,cols3)移动D11到F12构成的矩形格子workbook。save(test。xlsx)
  字母列号与数字列号之间的转换
  核心代码fromopenpyxl。utilsimportgetcolumnletter,columnindexfromstring根据列的数字返回字母print(getcolumnletter(2))B根据字母返回列的数字print(columnindexfromstring(D))4
  举个例子:importosimportopenpyxlfromopenpyxl。utilsimportgetcolumnletter,columnindexfromstringpathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(2。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))根据列的数字返回字母print(getcolumnletter(2))B根据字母返回列的数字print(columnindexfromstring(D))4
  字体样式
  查看字体样式importosimportopenpyxlimportopenpyxl。stylespathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))cellsheet〔A1〕fontcell。fontprint(当前单元格的字体样式是)print(font。name,font。size,font。bold,font。italic,font。color)当前活动表是:Worksheet1号sheet当前单元格的字体样式是等线11。0FalseFalseopenpyxl。styles。colors。ColorobjectParameters:rgbNone,indexedNone,autoNone,theme1,tint0。0,typetheme修改字体样式
  openpyxl。styles。Font(name字体名称,size字体大小,bold是否加粗,italic是否斜体,color字体颜色)
  其中,字体颜色中的color是RGB的16进制表示importosimportopenpyxlimportopenpyxl。stylespathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(sheet)cellsheet〔A1〕cell。fontopenpyxl。styles。Font(name微软雅黑,size20,boldTrue,italicTrue,colorFF0000)workbook。save(test。xlsx)
  再者,可以使用for循环,修改多行多列的数据,在这里介绍了获取的方法importosimportopenpyxlimportopenpyxl。stylespathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(sheet)cellsheet〔A〕foriincell:i。fontopenpyxl。styles。Font(name微软雅黑,size20,boldTrue,italicTrue,colorFF0000)workbook。save(test。xlsx)
  设置对齐格式
  Alignment(horizontal水平对齐模式,vertical垂直对齐模式,textrotation旋转角度,wraptext是否自动换行)
  水平对齐:‘distributed’,‘justify’,‘center’,‘left’,‘centerContinuous’,right,‘general’
  垂直对齐:‘bottom’,‘distributed’,‘justify’,‘center’,‘top’importosimportopenpyxl。stylespathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))cellsheet〔A1〕alignmentopenpyxl。styles。Alignment(horizontalcenter,verticalcenter,textrotation0,wraptextTrue)cell。alignmentalignmentworkbook。save(test。xlsx)
  当然,你仍旧可以调用for循环来实现对多行多列的操作importosimportopenpyxl。stylespathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))cellsheet〔A〕alignmentopenpyxl。styles。Alignment(horizontalcenter,verticalcenter,textrotation0,wraptextTrue)foriincell:i。alignmentalignmentworkbook。save(test。xlsx)
  设置行高列宽
  设置行列的宽高:
  rowdimensions〔行编号〕。height行高
  columndimensions〔列编号〕。width列宽importosimportopenpyxlimportopenpyxl。stylespathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))设置第1行的高度sheet。rowdimensions〔1〕。height50设置B列的卷度sheet。columndimensions〔B〕。width20workbook。save(test。xlsx)
  设置所有单元格
  (显示的结果是设置所有,有数据的单元格的)fromopenpyxlimportloadworkbookfromopenpyxl。utilsimportgetcolumnletterimportosos。chdir(rC:UsersasukaDesktop)workbookloadworkbook(1。xlsx)print(workbook。sheetnames)打印所有的sheet表wsworkbook〔workbook。sheetnames〔0〕〕选中最左侧的sheet表width2。0设置宽度heightwidth(2。28620。3612)设置高度print(row:,ws。maxrow,column:,ws。maxcolumn)打印行数,列数foriinrange(1,ws。maxrow1):ws。rowdimensions〔i〕。heightheightforiinrange(1,ws。maxcolumn1):ws。columndimensions〔getcolumnletter(i)〕。widthwidthworkbook。save(test。xlsx)
  合并、拆分单元格
  合并单元格有下面两种方法,需要注意的是,如果要合并的格子中有数据,即便python没有报错,Excel打开的时候也会报错。
  mergecells(待合并的格子编号)
  mergecells(startrow起始行号,startcolumn起始列号,endrow结束行号,endcolumn结束列号)importosimportopenpyxlimportopenpyxl。stylespathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))方法1:sheet。mergecells(A12:B13)方法2:sheet。mergecells(startrow12,startcolumn3,endrow13,endcolumn4)加一个居中对齐cellsheet〔A12〕alignmentopenpyxl。styles。Alignment(horizontalcenter,verticalcenter,textrotation0,wraptextTrue)cell。alignmentalignmentcellsheet〔C12〕alignmentopenpyxl。styles。Alignment(horizontalcenter,verticalcenter,textrotation0,wraptextTrue)cell。alignmentalignmentworkbook。save(test。xlsx)
  拆分单元格的方法同上
  unmergecells(待合并的格子编号)
  unmergecells(startrow起始行号,startcolumn起始列号,endrow结束行号,endcolumn结束列号)
  sheet表
  创建新的sheet(createsheet)
  createsheet(新的sheet名):创建一个新的sheet表importosimportopenpyxlpathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))workbook。createsheet(3号sheet)创建新的sheet表print(workbook。sheetnames)查看所有的sheet表workbook。save(test。xlsx)当前活动表是:WorksheetSheet1〔Sheet1,Sheet2,3号sheet〕
  修改sheet名字(title)
  第11行,使用title修改sheet表的名字importosimportopenpyxlpathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))sheet。title1号sheet修改sheet表workbook。save(test。xlsx)
  复制sheet表(copyworksheet)
  在操作修改单元格、excel另存为中提到了另存为,其实复制sheet表就是一个另存为的过程,你要是在12行代码保存的时候使用第7行的文件名,那么复制的sheet表就保存到自己身上,内容跟copy。xlsx一样。importosimportopenpyxlpathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))workbook。copyworksheet(sheet)复制sheet表workbook。save(copy。xlsx)
  删除sheet表(remove)
  remove(sheet名):删除某个sheet表
  要删除某sheet表,需要激活这个sheet表,即:将其作为活动表(关于活动表的定义请看前面文章开头写的有)下面811行代码展示了原始活动表与手动更换活动表,第13行代码删掉活动表importosimportopenpyxlpathrC:UsersasukaDesktopos。chdir(path)修改工作路径workbookopenpyxl。loadworkbook(test。xlsx)返回一个workbook数据类型的值sheetworkbook。active获取活动表print(当前活动表是:str(sheet))sheetworkbook〔3号sheet〕手动切换到要删除的sheet表,一旦切换,这张表就是活动表print(当前活动表是:str(sheet))workbook。remove(sheet)删除当前活动表print(workbook。sheetnames)workbook。save(test。xlsx)当前活动表是:WorksheetSheet1当前活动表是:Worksheet3号sheet〔Sheet1,Sheet2〕
  操作多个Excel表
  背景知识
  numpy与pandas
  NumPy是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库;pandas是基于NumPy的一种工具,该工具是为解决数据分析任务而创建的,我们需要利用Pandas进行Excel的合并
  1。下面的代码生成了一个5行3列的包含15个字符的嵌套列表
  (注意,第4行代码:15是等于35的,如果是15对应43,或者16对应53都会报错)
  (注意,第5行代码,虽然5行3列是15个数据,但是可以指定数据从1开头,到16结束)importnumpyasnpimportpandasaspdxxnp。arange(15)。reshape(5,3)yynp。arange(1,16)。reshape(5,3)print(xx)print(yy)〔〔012〕〔345〕〔678〕〔91011〕〔121314〕〕〔〔123〕〔456〕〔789〕〔101112〕〔131415〕〕
  2。添加表头
  使用pandas库的DataFrame来添加表头。关于打印的结果,把最左侧的一列去掉之后会发现结果很和谐,这是因为最左侧的一列代表行号。此时xx变量的类型是importnumpyasnpimportpandasaspdxxnp。arange(15)。reshape(5,3)yynp。arange(1,16)。reshape(5,3)xxpd。DataFrame(xx,columns〔语文,数学,外语〕)yypd。DataFrame(yy,columns〔语文,数学,外语〕)print(xx)print(yy)结果:语文数学外语0012134526783910114121314语文数学外语01231456278931011124131415xlsxwriter
  xlsxwriter模块一般是和xlrd模块搭配使用的,
  xlsxwriter:负责写入数据,
  xlrd:负责读取数据。
  1。创建一个工作簿importxlsxwriterimportospathrC:UsersasukaDesktopos。chdir(path)这一步相当于创建了一个新的工作簿;demo。xlsx文件不存在,表示新建工作簿;demo。xlsx文件存在,表示新建工作簿覆盖原有的工作簿;workbookxlsxwriter。Workbook(demo。xlsx)close是将工作簿保存关闭,这一步必须有,否则创建的文件无法显示出来。workbook。close()
  2。创建sheet表importxlsxwriterimportospathrC:UsersasukaDesktopos。chdir(path)workbookxlsxwriter。Workbook(cc。xlsx)创建一个名为cc。xlsx的文件worksheetworkbook。addworksheet(2018年销售量)创建一个名为2018年销售量的sheet表workbook。close()
  3。写入数据importxlsxwriterimportospathrC:UsersasukaDesktopos。chdir(path)创建一个名为【demo。xlsx】工作簿;workbookxlsxwriter。Workbook(demo。xlsx)创建一个名为【2018年销售量】工作表;worksheetworkbook。addworksheet(2018年销售量)使用writerow方法,为【2018年销售量】工作表,添加一个表头;headings〔产品,销量,单价〕worksheet。writerow(A1,headings)使用write方法,在【2018年销售量】工作表中插入一条数据;write语法格式:worksheet。write(行,列,数据)data〔苹果,500,8。9〕foriinrange(len(headings)):worksheet。write(1,i,data〔i〕)workbook。close()

神仙打架!新增12个国家5A级景区!景区如何打造多元生存方式7月6日,文化和旅游部发布公示,拟将12家旅游景区确定为国家5A级旅游景区。文化和旅游部表示,根据中华人民共和国国家标准《旅游景区质量等级的划分与评定》和《旅游景区质量等……调查失去娱乐的年轻人从骑行卷到陆地冲浪了作者Mia盼了一年的海边大戏没有了,蹦迪也没有了。早在去年便摩拳擦掌决心要去阿那亚的橙子,两周前最终等来了戏剧节取消公告,外加工体疫情致使娱乐场所集体停摆。飞盘成了……张若昀警察荣誉本色出演哈士奇《警察荣誉》可能没有太多惊心动魄的故事,只是通过演绎平凡人物的平凡故事,在大多数人生活中,往往经历的都是鸡毛蒜皮的小事,而这些是真正构成了我们生活中的喜怒哀乐。在我们社会中所接……5nm工艺OPPOReno8Pro登场,vivoS12跌至谷OPPOReno8Pro的处理器为天机8100MAX,基于TSMC5nm工艺,A78核心设计,四高缓存。既能保证强劲的性能,又有出色的功耗表现。此外,在系统层面,该机还有Hyp……富婆金小妹产后六周忙复出!穿绿色皮草扮清新,素颜照尽失少女感当地时间3月16日,美国卡戴珊家族中最小的女儿金小妹凯莉詹娜在保镖的护卫下,前往洛杉矶参加活动。刚生完二胎不过六周的金小妹,身材恢复得很好,重回苗条身材的她依旧是走在时尚圈前沿……吸尘洗地样样精通,让家干净又卫生哈喽大家好,我是老纪很大力!今天给大家带来的是我新入手的洗地机中的天花板添可智能洗地机芙万二代LCD版。平时和单位的年轻同事们聊天,发现大家对洗地机还是有很大需求的,洗地机打败……看脸的智能锁,玥玛YMA9人脸识别智能锁又出新花样?随着生活快速化,人们越来越追求高效便捷化的生活。这种需求回归到家庭生活中,便体现在开门是否便捷快速上,这也就自然而然地带出了现代人们对智能锁的重要需求。但市面上智能锁功能……如何喝水,防止尿结石和预防伤害?1。多喝水一般来说,一次喝水不应少于200毫升。只有添加足够的水,人体才能吸收足够的水。不要喝几口,停一会儿。这样只会滋润口腔和喉咙,而不会给身体加水。但是,您还必须知道……两胜两负!国乒小将连续受挫无缘正赛,刘国梁遇到新问题世乒联WTT挑战赛突尼斯站第二轮,国乒小将连续受挫,输掉了两场不应该输的比赛,结果令人遗憾,刘国梁遇到新问题,国际格局正在发生微妙的变化,需要引起高度重视;正赛将会在3日全面打……怎么处理好人际关系在现实生活中,我们往往会遇到这么一些人,自己有关系有背景,但总喜欢说自己是白手起家,靠努力打拼出来的;自己很有钱或者是富二代,但总是在别人面前说钱不重要,甚至直接说我并不太喜欢……2026世界杯,亚洲预选赛这就来了,国家队想出线事如登天有媒体即时分析,国家队36强预选赛成种子队很困难。36支球队分9组,前两名出线进入18强。目前国足亚洲排名11,不可能成种子队。东亚杯所赚积分不足以增加大分数,提高……你读过的书,都是来渡你的作者:洞见muye书可作扁舟,渡你达彼岸。01hr王小波在农村插队时,曾有过一段独处的时光。傍晚时分,他总是一个人静静地坐在屋檐下。看着时光流逝,他顿时……
孙洪鹤互联网最好的赚钱模式是制造恐慌贩卖焦虑,请理性阅读作者:孙洪鹤这篇文章写的太干,内容过于直白,请理性阅读,仅供营销学习!网络经济相对实体经济更虚拟化,网络经济运营的重点是传播,而舆论传播是非常重要的手段,这就是为什……广州美团骑手招满了?送钱托关系才能进?美团回应没有的事,很多近日,网上流传了一张广州骑手都招满了,需要送钱托关系才能当骑手的聊天截图,此外,还有UP主在b站上透露现在专送站点不招人了,人满了在往外边清人,这是这么多年第一次出现这种情况,……SSL证书为企业打造安全可靠的网络环境在当今互联网时代中,络诈骗越来越多,络安全成为最关注的焦点。与此同时,SSL证书应运!SSL证书不仅可保障浏览器的安全性,还可在客户端与服务器端之间搭建条加密通道,实现强度双向……再见了!归来的奥特曼相信许多90后,00后的朋友对奥特曼这个词并不陌生,可以说是陪伴两代人一起成长的。奥特曼是由圆谷公司所创造出来的特摄片,第一部推出的奥特曼是在1966年,奥特曼初登屏幕就……迎来21周年的长寿端游巨商进行2023年的首个更新日前,韩服《巨商》进行了2023年的首个更新。通过此次更新,韩服《巨商》推出了全新副本幻想溪谷(黎明)。此后,玩家可以在幻想溪谷(黎明)中打水属性和风属性的怪物,获得符合怪物属……恭喜!钱天一被大迪尖矛刺穿后,终于顶住了梦姐图片来源网络:钱天一最近十来天,钱天一经历很多场锻炼,应该说总体上是比较好的结果,与国乒五朵金花中的三个人都打了,先是与孙颖莎在新加坡一战成名,尽管只取得了亚军,但虽败犹……如何将第三方jar导入到idea项目中最近在做关于物流方面的小程序,因客户要求需要用到物流公司的sdk;他们的sdk没有上传到maven仓库中;需要自己手动导入。以前直接将sdk弄到本地maven仓库中引入就可以了……中国外交官吴钟华独守岛国3年,住草房吃树叶,一人撑起大使馆如今随着网络的发展,原本在大家印象中刻板严肃的外交官如华春莹、赵立坚等人也逐渐走红,我们可以看到,在国际战场上他们不仅有挥斥方遒的气势,亦有一心为国的热忱。其实,并不是所……原神BGM登上央视网络春晚腾讯反腐行动扫出48人No。1,米哈游《原神》剧情音乐《神女劈观唤情》片段登陆央视网络春晚,此外,如果没错的话,舞台设计借鉴了《原神》尘歌壶摆设梨园台榭云翰风致,舞台大屏幕上也出现了《原神》角色云堇……早已被列为禁地,仍有驴友非法穿越后遇害,秦岭鳌太线有多危险?随着科学技术的发展,交通越来越便利,人类的脚印似乎已经遍布了全球。我们很难想象,就在我们的身边,仍有一些禁区存在着。今年国庆假期中,陕西省宝鸡市太白县的应急管理局接到报案……滑雪登山世锦赛落幕中国队三金收官新华社北京3月5日电据中国登山协会消息,5日,2023年滑雪登山世锦赛结束了最后一个比赛日的争夺,中国队参加了青年组、成年组混合接力项目的比赛,在奖牌榜上以三枚金牌的成绩结束了……精彩篮不住!完胜三人篮球赛打造社区体育品牌赛事完胜三人篮球赛近日在广州地铁博物馆门前的广场举行,12支草根队伍向冠军发起冲击,致力于打造社区体育品牌赛事。参赛球员活力四射。比赛采用小组赛和淘汰赛赛制,12支球队……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网