格式模板
**第2步,**让程序读取这个模板里的格式,告诉程序接下来所有的shee页都按照这个格式来美化。
#获取样例表格的列宽数据
def get_sample_format(col):##因为无需读取整个excel所有列的列宽,所以这里传入一个读取的列宽范围参数
wb = xw.Book("sample.xlsx") # 建立于sample.xlsx文件的连接
sheet = wb.sheets["sheet1"] #打开sample.xlsx文件的sheet1
format = []
for i in range(col):
format.append(sheet[0,i].column_width)
print('列宽:'+str(format)) #'行高:'+sheet.range('A1').column_width+
wb.close()
return format
第3步,让程序批量操作这50个shee页,按照模板的列宽进行设置,同时修改一些字体、单元格背景等。
## 美化表格 todo:还需要一个异常退出 https://blog.csdn.net/qq_37289115/article/details/107322332
def beautiful_sheet(table_name,raw,col,format):
#设置颜色
wb2 = xw.Book(table_name) # 建立excel表连接
sheets_name= [st.name for st in wb2.sheets]
for st in sheets_name:
sheet2 = wb2.sheets[st]
# sheet2[0,0] =
sheet2.range('a1').value= ['序号','书名(@知乎 东写西读整理)','总浏览次数','霸榜高校数','霸榜率','在高校榜单排名中位数','豆瓣评分','豆瓣链接(@知乎 东写西读整理)'] #更改标题行
sheet2[0:raw,0:col+1].api.Borders(12).LineStyle = 0 #设置单元格横边框为细框线
sheet2[0:raw, 0:col+1].api.Borders(11).LineStyle = 0 #设置单元格竖边框为细框线
sheet2[0:raw,0:col].api.Font.Name = '微软雅黑'# 设置字体格式为微软雅黑
sheet2[0:raw, 0:col].api.HorizontalAlignment = -4108 #设置字体居中
sheet2[:,4].api.NumberFormat = "0%" #“霸榜率”这一列单元格设置为百分比格式显示
for i in range(raw): ##行遍历
if i==0:
sheet2[i, 0:col].color = [217, 217, 217] #设置标题背景颜色格式
elif i%2 ==0:
sheet2[i,0:col].color = [183, 222, 232] #设置偶数行背景颜色格式为浅蓝色
for i,item in enumerate(format): #列遍历,根据sample.xlsx中的列宽进行调整
sheet2[0,i].column_width = item
wb2.save()#保存excel
wb2.close()#关闭excel
return None
运行程序,优化后的excel是这个样子的:
这样看起来就舒服多了!
最后,附上完整代码:
import xlwings as xw
#获取样例表格的列宽数据
def get_sample_format(col):##因为无需读取整个excel所有列的列宽,所以这里传入一个读取的列宽范围参数
wb = xw.Book("sample.xlsx") # 建立于sample.xlsx文件的连接
sheet = wb.sheets["sheet1"] #打开sample.xlsx文件的sheet1
format = []
for i in range(col):
format.append(sheet[0,i].column_width)
print('列宽:'+str(format)) #'行高:'+sheet.range('A1').column_width+
wb.close()
return format
## 美化表格 todo:还需要一个异常退出 https://blog.csdn.net/qq_37289115/article/details/107322332
def beautiful_sheet(table_name,raw,col,format):
#设置颜色
wb2 = xw.Book(table_name) # 建立excel表连接
sheets_name= [st.name for st in wb2.sheets]
for st in sheets_name:
sheet2 = wb2.sheets[st]
# sheet2[0,0] =
sheet2.range('a1').value= ['序号','书名(@知乎 东写西读整理)','总浏览次数','霸榜高校数','霸榜率','在高校榜单排名中位数','豆瓣评分','豆瓣链接(@知乎 东写西读整理)'] #更改标题行
sheet2[0:raw,0:col+1].api.Borders(12).LineStyle = 0 #设置单元格横边框为细框线
sheet2[0:raw, 0:col+1].api.Borders(11).LineStyle = 0 #设置单元格竖边框为细框线
sheet2[0:raw,0:col].api.Font.Name = '微软雅黑'# 设置字体格式为微软雅黑
sheet2[0:raw, 0:col].api.HorizontalAlignment = -4108 #设置字体居中
sheet2[:,4].api.NumberFormat = "0%" #“霸榜率”这一列单元格设置为百分比格式显示
for i in range(raw): ##行遍历
if i==0:
sheet2[i, 0:col].color = [217, 217, 217] #设置标题背景颜色格式
elif i%2 ==0:
sheet2[i,0:col].color = [183, 222, 232] #设置偶数行背景颜色格式为浅蓝色
for i,item in enumerate(format): #列遍历,根据sample.xlsx中的列宽进行调整
sheet2[0,i].column_width = item
wb2.save()#保存excel
wb2.close()#关闭excel
return None
if __name__ == '__main__':
table_name = "Top150.xlsx"#需要修改的excel名字
raw = 151 #需要修改格式的行数
col = 8 ##需要修改格式的列数
format = get_sample_format(col)
beautiful_sheet(table_name,raw,col,format)
最后
为了帮助大家更好的学习Python,小编给大家准备了一份Python学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,需要获取方式:扫描下方即可获取。
👉Python学习路线汇总
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉Python必备开发工具👈
👉精品Python学习书籍👈
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
四、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!