本节主要是讨论如何利用xlsxwriter第三方excel模块,对excel表格进行有条件的输出。
假设有如下产品,由产品ID与费用组成
希望在Cost列,将费用最高的3个价格标浅红色,并对ID/Cost 两列中的单元格修改格式。
该程序主要分三块内容:
一、创建DataFrame
二、确定前3个最高的费用
三、用xlsxwriter 参数定义单元格格式和条件格式
一、创建DataFrame
1、定义excel表格的输出路径;
2、创建DataFrame;
3、Pandas 调用xlsxwriter
import numpy as np
import pandas as pd
import xlsxwriter
from pandas import Series,DataFrame
path_out=r'D:\4_pandas_conditional_format.xlsx'
df=DataFrame({'ID':np.arange(1,11,1),'Cost':list(np.random.randint(20,100,size=(1,10))[0])})
writer=pd.ExcelWriter(path_out,engine='xlsxwriter')
df.to_excel(writer,sheet_name='Item',index=False)
二、确定前3高的费用
后面会用xlsxwriter的conditional format,里面有选项,比如大于某个值用啥颜色。
因此,确定前3高费用可转换为查找第4个最大值。
def findKthLargestNumber(df,k):
list_num=df['Cost'].values.tolist()
list_num.sort(reverse=True)
return list_num[k-1]
kth_number=findKthLargestNumber(df,4)
三、用xlsxwriter 参数定义单元格格式和条件格式
1、定义单元格格式,cell format;
2、定义条件格式,conditional format
workbook=writer.book
worksheet=writer.sheets['Item']
cell_fmt={'bold':False,'font_name':'微软雅黑','font_size':9,'align':'center','valign':'vcenter','border':0}
color_fmt={'bg_color': '#FFC7CE'}
header_fmt={'bold':True,'font_name':'微软雅黑','font_size':9,'align':'center','valign':'vcenter','border':0}
cell_format=workbook.add_format(cell_fmt)
color_format=workbook.add_format(color_fmt)
header_format=workbook.add_format(header_fmt)
worksheet.set_column('A:B',15,cell_format)
worksheet.conditional_format('B2:B11',{'type':'cell','criteria':'>','value':kth_number,'format':color_format})
for colx,value in enumerate(df.columns.values):
worksheet.write(0,colx,value,header_format)
writer.save()
初学python有很多不足,望各位大佬不吝赐教,多谢了。
学习python目的:主要是实现办公自动化,对excle、word、PPT、邮件等自动化处理,对销售数据进行综合分析,便于规划及汇报。
这里写自定义目录标题如何对新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入如何对你好! 这是你第一次使用 M...
这款变色龙app封装系统源码更适合小企业主和个人用户,打包过程简单方便快捷。系统基于thinkphp开发,附件为变色龙app封装系统源码官方正版下载,无毒无后门,原汁原味。
源码功能介绍
1、App封装:实现App封装,混合开发App,100多JS接口功能交互。
2、制作小程序:通过接口网站封装成小程序。
————————————————
版权声明:本文为CSDN博主「源码庄」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/stao1272019810/article/details/120747968
主要是介绍xlsxwrite模块的单元格的字体等颜色设置,一般常用的设置就5项:字体颜色、字体是否加粗、字体对齐方式、单元格对齐方式和单元格的背景颜色
import xlsxwriter
workbook = xlsxwriter.Workbook("/Users/tmac/前mac电脑资料/zhang/test.xlsx")
worksheet = workbook.add_worksheet(...
怎么样使用Python提高自己的工作效率,今天就给大家分享这个吧。我们经常用pandas读入读写excel文件,经常会遇到一个excel文件里存在多个sheet文件,这个时候,就需要一次性读取多个sheet的数据并做相应的数据分析或数据处理,最后再写入新的excel文件(同样是多个sheet)。本文即介绍多个sheet文件的读入及处理数据后写出到新excel文件(多个sheet)的操作过程。
所有sheet的内容都读入至df中。
查看所有sheet名
查看某一个sheet
在每个sheet中新增一列
一、功能比较强
相对而言,这是除Excel自身之外功能最强的工具了。比如我就用到了它提供的:字体设置、前景色背景色、border设置、视图缩放(zoom)、单元格合并、autofilter、freeze panes、公式、data validation、单元格注释、行高和列宽设置等等。
二、支持大文件写入
如果数据量非常大,可以启用constant memory模式,这是一种顺序写入模式,得到一行数据就.
pandas ExcelWriter定制格式(定制表头、渲染颜色等,非ExcelWriter标准的创建模式)
ExcelWriter这个插件有个坑,就是已经设置好的格式是无法更改的,因此,由pandas转成excel的时候,必须将格式清除,尤其是表头的格式,代码如下:
import pandas.io.formats.excel
pandas.io.formats.excel.header_...
workbook = xlsxwriter.Workbook('existing_file.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Hello, world!')
workbook.close()
打开已有的excel文件:
import xlsxwriter
workbook = xlsxwriter.Workbook('existing_file.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Hello, world!')
workbook.close()
注意:如果文件不存在,会抛出错误。