python pandas to_excel 高级玩法



DataFrame.to_excel(self, excel_writer, sheet_name=‘Sheet1‘, na_rep=‘‘,             float_format=None, columns=None, header=True, index=True,             index_label=None, startrow=0, startcol=0, engine=None,             merge_cells=True, encoding=None, inf_rep=‘inf‘, verbose=True,             freeze_panes=None):

1、freeze_panes :固定行和列   int类型的 tuple

2、inf_rep  : python会出现最小值  无限接近为0 的值为inf   inf_rep 为替换所有这个值

3、na_rep  :  inf_rep 为替换 np.nan 值

4、merge_cells :默认为True   为合并索引的

5、添加颜色 :

def style_apply(series, colors, **kwargs):
    """
   
    :param series: 传过来的数据是DataFrame中的一列   类型为pd.Series
    :param colors: 内容是字典  其中key 为标题名   value 为颜色
    :return:
    """
    # print(series,type(series))
    series_names = series.name
    first_name = series_names[0]
    # second_name = series_names[1] if len(series_names) > 1 else ‘‘
    back_ground_list = list()
    for cell in series:
        back_ground = ‘‘
        if isinstance(colors, str):
            back_ground = ‘background-color: ‘ + colors
        elif isinstance(colors, dict):
            if first_name in colors:
                back_ground = ‘background-color: ‘ + colors[first_name]
        else:
            logging.info(‘有问题‘)
        back_ground_list.append(back_ground)
    # print(len(back_ground_list))
    return back_ground_list
  

  

#  style_apply 为上面你的方法   colors 为颜色字典    目的是为了给不同的标题设置不同的颜色
#  DataFrame 中的的 apply 默认传参为  为 DataFrame 中的一列  Series
df = df.apply(style_apply, colors=colors, kwargs=kwargs)

  

原文地址:https://www.cnblogs.com/bianzhiwei/p/11214994.html

时间: 2024-10-22 22:12:56

python pandas to_excel 高级玩法的相关文章

PyQt 5信号与槽的几种高级玩法

PyQt 5信号与槽的几种高级玩法 http://www.broadview.com.cn/article/824 在Qt中,每一个QObject对象和PyQt中所有继承自QWidget的控件(这些都是QObject的子对象)都支持信号与槽机制.当信号发射时,连接的槽函数将会自动执行.在PyQt 5中信号与槽通过object.signal.connect()方法连接. PyQt的窗口控件类中有很多内置信号,开发者也可以添加自定义信号.信号与槽具有如下特点. 一个信号可以连接多个槽. 一个信号可以

轻量级高性能ORM框架:Dapper高级玩法

Dapper高级玩法1: 数据库中带下划线的表字段自动匹配无下划线的Model字段. Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true; 备注: 这个对使用Mysql数据库的朋友最有帮助,因为Mysql默认都是小写,一般字段都带下划线,比如:user_name之类. 具体效果如下演示 1,首先创建一张表并插入数据 2,创建Model模型 public class User { public int UserID { get; set;

十五天精通WCF——第九天 高级玩法之自定义Behavior

原文:十五天精通WCF--第九天 高级玩法之自定义Behavior 终于我又看完了二期爱情保卫战,太酸爽了,推荐链接:http://www.iqiyi.com/a_19rrgublqh.html?vfm=2008_aldbd,不多说,谁看谁入迷,下面言归正传, 看看这个很有意思的Behavior. 一: Behavior这个泼妇的厉害   在前面的文章中,我也清楚的说明了整个wcf通信流,而Behavior这个泼妇可以在wcf通信流中的任何地方插上一脚,蛮狠无比,利用的好,让你上天堂,利用的不

【ASP.NET Core】依赖注入高级玩法——如何注入多个服务实现类

依赖注入在 ASP.NET Core 中起中很重要的作用,也是一种高大上的编程思想,它的总体原则就是:俺要啥,你就给俺送啥过来.服务类型的实例转由容器自动管理,无需我们在代码中显式处理. 因此,有了依赖注入后,你的编程思维就得变一变了.在过去,许多功能性的类型(比如一个加密解密的类),我们都喜欢将其定义为静态(static),而有了依赖注入,你就要避免使用静态类型,应该交由服务容器帮你管理,只要你用好了,你会发现依赖注入是很方便的. 依赖注入的初级玩法,也是比较标准的玩法,此种玩法有两种模式:

maven 高级玩法

maven 高级玩法 标签(空格分隔): maven 实用技巧 Maven 提速 多线程 # 用 4 个线程构建,以及根据 CPU 核数每个核分配 1 个线程进行构建 $ mvn -T 4 clean install $ mvn -T 1C clean install 跳过测试 -DskipTests # 不执行测试用例,但编译测试用例类生成相应的 class 文件至 target/test-classes 下 -Dmaven.test.skip=true # 不执行测试用例,也不编译测试用例类

angularjs 高级玩法 创建递归的模板 兼容IE浏览器

说到兼容IE7 IE8浏览器,angularjs官方已经明确说明:v1.3 之后的版本(含v1.3)都将不支持 IE7 IE8了,所以如果想要兼容IE7 IE8 就必须使用 v1.3以下的版本 上一篇文章说到递归玩法,但是IE7 IE8是玩不通的,原理我简单解释一下, angularjs在加载一个模板的时候,会进行解析内容,把内容转换成Element(元素或者说节点),这里问题就来了,在IE9+ .chrome这些浏览器,会把 <script>这种标签也当作是一种Element来处理,但是在I

angularjs 高级玩法 创建递归的模板

<script id="myTemplate" type="text/ng-template"> <!-- 你要显示的内容,例如 --> <div>a:{{data.a}}</div> <div>b:{{data.b}}</div> <!-- 递归 --> <div ng-include="'myTemplate'" ng-init="data=d

.Net中集合排序的一种高级玩法

背景: 学生有名称.学号, 班级有班级名称.班级序号 学校有学校名称.学校编号(序号) 需求 现在需要对学生进行排序 第一排序逻辑 按学校编号(序号)排列 再按班级序号排列 再按学生学号排列 当然,在我们录入数据库信息的时候,有的人可能比较懒,没有录入 学校的序号, 班级的序号,学生的学号 ,怎么办?  那么就Plan B  ! 第二排序逻辑 按学校名称排列 再按班级的名称排列 再按学生名称排列 我编写了学校.班级.学生的实体关系代码如下: namespace Sort { public cla

Python 中素数的玩法

质数 质数又称素数.指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数.换句话说,只有两个正因数(1和自己)的自然数即为素数.比1大但不是素数的数称为合数.1和0既非素数也非合数.素数在数论中有着很重要的作用. 质数的分布规律是以36N(N+1)为单位,随着N的增大,素数的个数以波浪形式渐渐增多. 孪生质数也有相同的分布规律. 素数,普遍认为的分布规律是没有规律.时而连续出现,时而又相隔很远很远.有远亲.有近邻,地球对面也还有几个好朋友.素数,真的就没有规律吗?合数可以