Pandas导出美化技巧,让你的Excel更出众

这篇具有很好参考价值的文章主要介绍了Pandas导出美化技巧,让你的Excel更出众。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pandasDataFrame可以通过设置参数使得在jupyter notebook中显示的更加美观,
但是,将DataFrame的数据导出excel时,却只能以默认最朴素的方式将数据写入excel

本文介绍一种简单易用,让导出的excel更加美观的方法。

1. 概要

首先,引入一个库StyleFrame,这个库封装 pandasopenpyxl,让我们轻松的设置DataFrame的样式并导出到excel中。

安装很简单:

pip install styleframe

这个库主要包含3个模块:

  1. styleframe:相当于这个库的主入口,它封装了DataFrame对象。
  2. styler:用来单元格的样式。
  3. utils:常用样式元素的辅助类,比如数字和日期格式、颜色和边框类型等。

安装成功之后,下面通过示例看看如何使用。

2. 准备数据

下面示例中使用的数据采集自链家网的真实成交数据。
数据下载地址:https://databook.top/。

导入数据:

import pandas as pd

fp = "D:/data/南京二手房交易/南京建邺区.csv"
df = pd.read_csv(fp)

# 为了简化,只取10条数据来演示导出效果
df = df.head(10)

Pandas导出美化技巧,让你的Excel更出众

3. 行列设置

先看看默认导出excel的效果。

output = "d:\data\output.xlsx"
df.to_excel(output, index=None)

Pandas导出美化技巧,让你的Excel更出众
默认导出的样式就是这样,所有单元格都一样,不管单元格的内容是什么。

3.1. 设置自适应

第一步,我们设置内容自适应(shrink_to_fit),确保每个单元格中的内容能够完整显示。

from styleframe import StyleFrame, Styler, utils

style = Styler(shrink_to_fit=True)
sf = StyleFrame(df, styler_obj=style)

writer = sf.to_excel(output)
writer.close()

Pandas导出美化技巧,让你的Excel更出众
可以看出,StyleFrame的默认导出样式,给有数据的表格加了边框。
使用shrink_to_fit=True样式之后,每个单元格的内容可以完整显示了。

3.2. 设置列宽

从上面的效果,我们发现,所有列的宽度是一样的,无论列中的内容有多长。
我们可以设置某些文字内容比较多列更宽一些。

sf.set_column_width_dict(
    {
        "name": 25,
        "positionInfo": 20,
        "advantage": 15,
        "dealCycleDays": 16,
    }
)

Pandas导出美化技巧,让你的Excel更出众
调整之后,内容看起来更清晰了。

3.3. 设置表头,内容

接下来,我们通过字号对齐方式背景色以及是否加粗来区分表头内容部分。

header_style = Styler(
    bg_color="yellow",
    bold=True,
    font_size=12,
    horizontal_alignment=utils.horizontal_alignments.center,
    vertical_alignment=utils.vertical_alignments.center,
)
content_style = Styler(
    shrink_to_fit=True,
    font_size=8,
    horizontal_alignment=utils.horizontal_alignments.left,
)

sf.apply_column_style(sf.columns, content_style)
sf.apply_headers_style(header_style)

Pandas导出美化技巧,让你的Excel更出众
内容更加紧凑了,表头部分也更突出了。

3.4. 设置行间隔颜色

最后,我们在优化下内容显示部分,用不同的背景色区分奇数行偶数行

row_style = Styler(
    bg_color="#32CD32",
    shrink_to_fit=True,
    font_size=8,
    horizontal_alignment=utils.horizontal_alignments.left,
)

# 计算要设置背景色的行索引
indexes = list(range(1, len(sf), 2))
sf.apply_style_by_indexes(indexes, styler_obj=row_style)

Pandas导出美化技巧,让你的Excel更出众

4. 样式设置

样式设置主要是Styler这个模块提供的功能。
通过Styler类提供的接口,我们可以设置灵活的控制导出的样式。

4.1. 字体

我们给第一行设置不同的字体(font="STKaiti"),看看导出的效果:

first_line_style = Styler(
    shrink_to_fit=True,
    font="STKaiti",
    font_size=14,
    horizontal_alignment=utils.horizontal_alignments.left,
)
sf.apply_style_by_indexes(indexes_to_style=[0], styler_obj=first_line_style)

Pandas导出美化技巧,让你的Excel更出众
第一行的字体是华文楷体,和其他行不一样。

4.2. 颜色

再把第一行的字调成蓝色(font_color="blue")。

first_line_style = Styler(
    shrink_to_fit=True,
    font="STKaiti",
    font_size=14,
    font_color="blue",
    horizontal_alignment=utils.horizontal_alignments.left,
)
sf.apply_style_by_indexes(indexes_to_style=[0], styler_obj=first_line_style)

Pandas导出美化技巧,让你的Excel更出众

4.3. 背景色

再给第一行加一个红色背景(bg_color="red")。

first_line_style = Styler(
    shrink_to_fit=True,
    font="STKaiti",
    font_size=14,
    font_color="blue",
    bg_color="red",
    horizontal_alignment=utils.horizontal_alignments.left,
)
sf.apply_style_by_indexes(indexes_to_style=[0], styler_obj=first_line_style)

Pandas导出美化技巧,让你的Excel更出众

4.4. 边框

边框是区隔,突出内容的一种手段,比如,我们可以在表头部分用实线粗边框border_type=utils.borders.thick),内容部分用虚线细边框border_type=utils.borders.dashed)。

header_style = Styler(
    bg_color="yellow",
    bold=True,
    font_size=14,
    border_type=utils.borders.thick,
)
content_style = Styler(
    shrink_to_fit=True,
    font_size=12,
    border_type=utils.borders.dashed,
)

sf.apply_column_style(sf.columns, content_style)
sf.apply_headers_style(header_style)

Pandas导出美化技巧,让你的Excel更出众

4.5. 数字和日期

最后,看看如何定制数字(number_format)和日期(date_format)的显示方式。
我们把上面示例中的总价(totalPrice)保留两位小数,日期(DealDate)改为只显示月和日。

num_style = Styler(
    shrink_to_fit=True,
    font_size=12,
    number_format=utils.number_formats.general_float,
    border_type=utils.borders.dashed,
    horizontal_alignment=utils.horizontal_alignments.left,
)
sf.apply_column_style(["totalPrice", "unitPrice"], num_style)

date_style = Styler(
    shrink_to_fit=True,
    font_size=12,
    date_format="DD/MM",
    border_type=utils.borders.dashed,
    horizontal_alignment=utils.horizontal_alignments.left,
)
sf.apply_column_style("dealDate", date_style)

Pandas导出美化技巧,让你的Excel更出众

5. 总结

导出分析结果是我们做数据分析的最后一步,也是最容易被忽视的一步。
我们常常把大部分的精力都会花在数据的整理和分析上,最后给客户提供一个简易的报告和数据。

殊不知,导出一个美观清晰的分析结果和数据,反而更能得到客户的肯定和信任,因为这才是客户能够切身感知到的部分,否则花在数据整理和分析的精力再多,也不能让客户有直接的感受。文章来源地址https://www.toymoban.com/news/detail-839369.html

到了这里,关于Pandas导出美化技巧,让你的Excel更出众的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python中使用pandas 导出到excel ,打开excel有错误,错误的提示为:发现“***”中的部分内容问题,是否让我们尽量尝试修复?如果您信任此工作簿的源,请单击“是”。

    目录  问题及解决办法 发现问题出现的原因为:文件重复保存  解决问题的方法为:注释掉writer.save() 完美解决!!!生成的表格打开便不会再有警告提示。 pd.ExcelWriter() 是 Pandas 库中的一个函数,用于创建一个 Excel 文件的写入器(Excel writer)对象,可以用来将数据写入 Ex

    2024年02月06日
    浏览(48)
  • 【idea美化篇】3个插件让你的idea彻底变脸

    idea美化这事,本着还是实用为主,不整那么多华丽胡哨的的插件,徒增idea的内存占用而已。下面我只推荐3款插件,让你的idea看起来大气美观,同时也能一定程度上提高你的效率。 1. One Dark theme 这个主题的整体色彩还是比较和谐统一的,没有啥大的割裂感,下载量在插件商

    2024年02月11日
    浏览(34)
  • 【pandas使用技巧】pandas中空值的处理方法

    在pandas中,可以使用fillna()方法对DataFrame中的空值进行处理。fillna()方法可以接受一个参数,用于指定如何填充空值。以下是一些常用的填充方式: 使用固定值填充:fillna(value) 使用前一个非空值填充:fillna(method=‘ffill’) 使用后一个非空值填充:fillna(method=‘bfill’) 使用平均

    2024年02月15日
    浏览(44)
  • Pandas实用技巧

    首先我们需要先提前下载好 示例数据集 : drinksbycountry.csv : http://bit.ly/drinksbycountry imdbratings.csv : http://bit.ly/imdbratings chiporders.csv : http://bit.ly/chiporders smallstockers.csv : http://bit.ly/smallstocks kaggletrain.csv : http://bit.ly/kaggletrain uforeports.csv : http://bit.ly/uforeports 有时你需要知道正在使用的

    2024年02月10日
    浏览(60)
  • Pandas使用技巧

    Pandas 是一个强大的数据分析 Python 库,提供了一系列用于数据清洗、转换、分析和可视化的 API。在使用 Pandas 进行数据处理时,常见的指令包括: read_csv() :用于读取 CSV、Excel等格式的数据文件,并将其转换为 Pandas DataFrame 对象。 read_excel() :用于读取 Excel 文件,并将其转换

    2024年02月07日
    浏览(45)
  • 【pandas小技巧】--目录(完结)

    pandas 小技巧系列是介绍的是使用 pandas 分析数据时,最常用的一些操作技巧。 具体包括: 创建测试数据 学习pandas的过程中,为了尝试pandas提供的各类功能强大的函数,常常需要花费很多时间去创造测试数据。 本篇介绍如何快速的创建测试数据。 读取多个文件 日常分析数据

    2024年02月11日
    浏览(31)
  • pandas读取excel,再写入excel

    需求是这样的,从一个表读取数据,然后每次执行创建一个新表将值写入 读取这个表 写入到这个表   分别对应的是e、h列数据,代码如下:

    2024年02月11日
    浏览(47)
  • pandas输出excel文件

    源数据:2020数学建模国赛c题附件一 将附件一的企业代号进行数据处理后将其作为excel文件保存输出 若待处理数据为Series类型,需要添加如下代码先将其转换为DataFrame类型 输出结果 我们发现,pandas在处理数据时会自动加上一列行索引 ,若要删除,需要设定to_excel()的参数i

    2024年02月16日
    浏览(28)
  • pandas操作excel

    目录 一:创建excel 二:修改excel 三:查找excel 四:删除数据 五:合并excel数据 一:创建excel import pandas as pd # 创建DataFrame对象 data = { \\\'Name\\\': [\\\'Alice\\\', \\\'Bob\\\', \\\'Charlie\\\'], \\\'Age\\\': [25, 30, 35], \\\'Salary\\\': [50000, 60000, 70000] } df = pd.DataFrame(data) # 创建ExcelWriter对象 writer = pd.ExcelWriter(\\\'output.xlsx\\\') # 将

    2024年01月21日
    浏览(40)
  • Pandas 加载数据的方法和技巧

    哈喽大家好,我是咸鱼 相信小伙伴们在学习 python 数据分析的过程中或多或少都会听说或者使用过 pandas pandas 是 python 的一个拓展库,常用于数据分析 今天咸鱼将介绍几个关于 pandas 导入数据的方法和技巧 关于 pandas 导入 csv 数据,使用的是下面这个方法 但是这个方法可以通

    2024年02月06日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包