整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

绝了! 这个库让Pandas数据框互动起来了!

绝了! 这个库让Pandas数据框互动起来了!

天我们介绍的是一个神奇的库 -- ITables ,它是获得 MIT 许可的 Python 软件包,是一个可使用DataTables[1] JavaScript 库渲染 Python DataFrames 的交互式表格。刚刚发布的 ITables 2.0 增加了对 DataTables 扩展库的支持。

如何使用 ITables

可以使用 pip 或 conda 安装 ITables:

pip install itables

或者

conda install itables

ITables 本质上是DataTables[2] 的 Python 封装。我们已设法将其依赖性降至最低:ITables 仅需要IPythonpandasnumpy,如果在 Jupyter 中使用 Pandas,您必须已经拥有这些资源(如果希望将 ITables 与PolarsDataFrames 结合使用,请添加 polarspyarrow)。

要在笔记本中使用 ITables,请运行以下代码片段:

from itables import init_notebook_mode

init_notebook_mode(all_interactive=True)

之后,每个 Pandas 或 Polars DataFrame 都将使用DataTables库显示。有了 DataTables,可以更轻松、更全面地访问数据。可以展开表格,浏览不同页面,对数据进行排序,甚至搜索数据,而无需返回 Python 提示符。

使用 ITables 展示 Pandas DataFrame

要将特定表格渲染为交互式 DataTable,或将参数传递给 DataTable 构造函数,可以使用show函数:

from itables import show

DataTables 扩展

下载数据

有了 DataTables 的Buttons[3]扩展,下载数据就变得非常简单:

show(df, buttons=["copyHtml5", "csvHtml5", "excelHtml5"])

The Copy/CSV/Excel buttons

级联搜索

SearchPanes[4]扩展可以对有重复值的列进行快速、直观的搜索:

SearchPanes 扩展

搜索生成器

我觉得SearchBuilder[5]扩展非常有用。此外,我还喜欢设置预定义搜索并只显示我们想关注的数据集部分的选项。

SearchBuilder扩展

下采样

最后我需要介绍一下 ITables 的下采样[6]机制。默认情况下,只显示估计大小不超过 64kB(不超过 200 列)的表格子集。可以通过

import itables.options as opt
opt.maxBytes=131072
opt.maxColumns=0

通过查看表格右下方的表格摘要,可以判断表格是否进行了向下采样。

向下采样时,只有一部分数据被传递到 DataTables,因此搜索或数据导出功能只能访问这部分数据集。

向下采样是 ITables 快速运行的关键。在将opt.maxBytes设置为大数值或0 之前,请三思而后行,这很有可能会冻结你的notebook 。显示 1G 的 DataFrame 至少会让notebook 变得同样大(由于数据已导出为 JSON,所以可能会更大),而且目前还不清楚浏览器是否支持。

参考资料

[1] DataTables: https://datatables.net/

[2] DataTables: https://datatables.net/

[3] Buttons: https://mwouts.github.io/itables/extensions.html#buttons

[4] SearchPanes: https://mwouts.github.io/itables/extensions.html#searchpanes

[5] SearchBuilder: https://mwouts.github.io/itables/extensions.html#searchbuilder

[6] 下采样: https://mwouts.github.io/itables/downsampling.html

击“了解更多”获取SpreadJS v13.2正式版下载

Excel在金融、财税、投行和投资界应用广阔,常用于构建财务模型(Financial Model),如财务三张报表、NPV/IRR、市场规模预测、投资价值预测(DCF及Comparable)等。其中,Excel 的价值主要体现为:

  • 商业逻辑清晰:可以帮助投资者定位核心指标数据
  • 灵活性强:可根据客户或老板的需求快速调整
  • 决策分析模型:界面友好,易于理解,可针对不同变量进行假设或分析

除了用于设计财务模型外,Excel还经常被决策者用来分享和交流内部数据。这既体现了Excel强大的数据处理能力,以及在金融和财务相关的Professional Service行业的普及,也反映出这些行业对新技术的运用相对滞后。

不难看出,为金融和财务等相关行业设计信息化系统,首要考虑的因素就是 Excel 兼容度。

如下,是一个基于 Excel 软件构建的投资案例的财务模型展示,开发者若想在信息化系统中实现财务模型中的公式函数、计算逻辑、表头样式和数据结构等,除了需要熟悉业务需求外,还要熟练掌握 Excel 的使用技术,这就是造成金融财税系统开发门槛高、后期维护难的主要原因。

投资案例的财务模型展示

财务模型中最重要的有基础的三张财务报表(即历史数据 + 未来预测),难点在于需要自动配平和检查三张表之间关系的模块。

为了完成对公司业绩、公司所处的市场规模以及公司未来表现的预测,还需要进一步拆分列维度。

先不说要实现如此复杂的数据钻取和切分,仅导出数据、加工整理再变成自定义报表就已经相当的耗时费力了。

那么,对于金融和财务行业的系统开发者而言,有没有可能借助一款开发工具或技术实现 Excel 相关的功能模块,而自己仅需考虑业务相关的业务代码呢?

让我们以用友畅捷通的T-UFO为例,看如何借助一款纯前端表格控件 SpreadJS,在财务系统中实现在线导入Excel自定义报表。

借助SpreadJS实现在线导入Excel自定义报表

T-UFO 是用友 T+Cloud 的两大功能模块之一,借助 T-UFO,财务人员可按部门、个人、往来单位、存货、项目设置辅助核算,定制个性化报表,实现自定义取数;企业领导可以通过查看 T-UFO 报表,轻松了解企业运行情况,制定数据化运营决策方案。

借助 SpreadJS 在线导入导出 Excel的产品特性,T-UFO实现了将Excel软件制作的财务报表直接导入系统,并可根据企业的特殊需求定制报表模板,如利润表按月汇总整理成综合利润表、在Excel复制粘贴好公式,导入T-UFO中使用等。

举例说明:假设A公司财务小李接到通知:以后每个月的利润表需要汇总在一张表里,只需以下步骤即可实现:

1.在T-UFO中,点击【报表设计】,选择相应的报表模板

2.进入模板后,点击【编辑】按钮,切换成浏览模式后,选择【导出模板】

3.导出的模板通过Excel打开,增加列并复制粘贴公式,每个月要取当月的数据,只要把之前的月批量替换成对应月的数字即可

4.点击新增空白报表

5.导入模板,所有的 Excel 计算公式没有丢失

除了导入 Excel 自定义报表,T-UFO还通过嵌入 SpreadJS 实现了:多表页在一个报表中显示,方便用户切换查看!

导入前,Excel 中有两个 Sheet:

导入T-UFO后,Sheet得以保留:

T-UFO之所以能实现上述功能,主要借助了SpreadJS “高性能、跨平台、与 Excel 高度兼容”的产品特性。

作为一款基于 HTML5 的纯前端表格控件,SpreadJS兼容了超过 450 种 Excel 公式、53 项单元格格式、18 种条件格式、32 种图表,以及182 种形状,可满足金融财税行业杜邦分析、指标补录、数据钩稽检查等多个应用场景需求,在为用户带来亲切、易用的使用体验的同时,满足了 Web Excel组件开发、 表格文档协同编辑、 数据填报、 类Excel报表设计等业务场景,大幅简化了金融系统的开发难度。

如果您想搭建一款在功能和操作体验上均与 Excel 高度类似的金融信息化系统,实现导入 Excel 自定义报表、指标补录、公式函数等需求,欢迎访问SpreadJS产品官网,这里有诸多成功案例和应用场景,可以为您提供帮助。

SpreadJS | 下载试用

纯前端表格控件SpreadJS,可满足 .NET、Java、App 等应用程序中的 Web Excel 组件开发、数据填报、在线文档、图表公式联动、类 Excel UI 设计等业务场景,并在数据可视化、Excel 导入导出、公式引用、数据绑定、框架集成中无需大量代码开发和测试,极大降低了企业研发成本和项目交付风险。

本文转载自葡萄城

preadJS结合40余年专业控件技术和在电子表格应用领域的经验而推出的纯前端表格控件,基于 HTML5,兼容 450 多种 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性,备受华为、明源云、远光软件等知名企业青睐,被中国软件行业协会认定为“中国优秀软件产品”。SpreadJS在界面和功能上与 Excel 高度类似,但又不局限于 Excel,而是为企业信息化系统提供 表格文档协同编辑、 数据填报 和 类 Excel 报表设计 的应用场景支持,极大降低了企业研发成本和项目交付风险。

SpreadJS官方最新版免费下载试用,历史版本下载,在线文档和帮助文件下载-慧都网

使用 SpreadJS 的在线表格编辑器,可直接在 Angular、 React、 Vue 等前端框架中实现高效的模板设计、在线编辑和数据绑定等功能,为最终用户提供高度类似 Excel 的使用体验。

纯前端组件、跨平台应用嵌入

SpreadJS支持跨平台开发,使用其功能无需预装任何插件或第三方组件,支持以原生的方式嵌入各类应用,与各类后端技术框架相结合。

在线导入、导出Excel(xlsx)

SpreadJS 无需借助后台代码和第三方组件,可直接在浏览器中完成 Excel、CSV、JSON 等文件的导入导出、PDF 导出、打印及预览操作。

业界领先的 Excel 兼容度

SpreadJS 内置 18 种条件格式、32 种图表、53 项单元格格式和 182 种形状,完全支持 Excel 数据格式,可向 Web 系统中轻松嵌入 Excel 功能。

极高的处理性能和响应速度

SpreadJS 使用的 HTML5 Canvas 表格绘制方案已荣获国家发明专利证书,该方案可提供流畅的使用体验和出色的性能,并最大化节省存储空间。

强大的公式计算引擎

SpreadJS兼容 450 多种 Excel 计算公式,可满足用户自定义、跨表格引用、异步调用等多场景计算需求,实现数据聚合,让有效数据不断完善。

本文内容源自葡萄城