天我們介紹的是一個神奇的庫 -- ITables ,它是獲得 MIT 許可的 Python 軟件包,是一個可使用DataTables[1] JavaScript 庫渲染 Python DataFrames 的交互式表格。剛剛發布的 ITables 2.0 增加了對 DataTables 擴展庫的支持。
可以使用 pip 或 conda 安裝 ITables:
pip install itables
或者
conda install itables
ITables 本質上是DataTables[2] 的 Python 封裝。我們已設法將其依賴性降至最低:ITables 僅需要IPython、pandas和numpy,如果在 Jupyter 中使用 Pandas,您必須已經擁有這些資源(如果希望將 ITables 與PolarsDataFrames 結合使用,請添加 polars 和pyarrow)。
要在筆記本中使用 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 的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自定義報表。
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支持跨平臺開發,使用其功能無需預裝任何插件或第三方組件,支持以原生的方式嵌入各類應用,與各類后端技術框架相結合。
SpreadJS 無需借助后臺代碼和第三方組件,可直接在瀏覽器中完成 Excel、CSV、JSON 等文件的導入導出、PDF 導出、打印及預覽操作。
SpreadJS 內置 18 種條件格式、32 種圖表、53 項單元格格式和 182 種形狀,完全支持 Excel 數據格式,可向 Web 系統中輕松嵌入 Excel 功能。
SpreadJS 使用的 HTML5 Canvas 表格繪制方案已榮獲國家發明專利證書,該方案可提供流暢的使用體驗和出色的性能,并最大化節省存儲空間。
SpreadJS兼容 450 多種 Excel 計算公式,可滿足用戶自定義、跨表格引用、異步調用等多場景計算需求,實現數據聚合,讓有效數據不斷完善。
本文內容源自葡萄城
*請認真填寫需求信息,我們會在24小時內與您取得聯系。