A new offering from the creator of a Python distribution for data science uses Microsoft Excel as a front end for Jupyter notebooks and other data-centric apps
Some of the most creative uses for applications are never intended by their makers. Microsoft Excel may not have been devised as a scratchpad for data scientists, but it's been pressed into the role with such zeal that Microsoft has gone with the flow.
Continuum Analytics, makers of a Python distribution called Anaconda preferred by data science users, has released Anaconda Fusion, a system for connecting the enterprise-grade version of Anaconda with Microsoft Excel 2016 and higher. This bridges Excel data accessible to Python and makes Anaconda's visualizations and other functions available inside Excel.
Spreadsheets are familiar territory for those in business analytics -- environments like Python and R, less so. If data scientists have work they want to share with Excel jockeys, it'll be easier to do so through Excel than to have them come to the Python side.
Data scientists can expose their work to Excel users with Python code and data available in Jupyter notebooks. Functions in a notebook can be decorated by a standard Python decorator syntax to indicate they're available to Excel users, and data supplied to those functions can be open-ended (that is, any data range that can be listed in Excel) or closed (a choice from a list).
When an Excel user interacts with those functions, the results -- plain-text data, or graphical visualizations such as those created by packages like Bokeh -- are shown in a tabbed side panel in Excel. With the side panel, it's also easier for Excel users to explore notebooks already available or to upload existing notebooks into Fusion. This is not simply a convenience; it acclimates Excel users little by little to Fusion and to Anaconda and Python is general.
Most of the previous integrations between Excel and Python have allowed Excel to interoperate with Python as a data source, such as the Xlwings project. Fusion might also be thought of as the obverse: It lets Python use Excel as a front end for data-driven applications and functions built with Python.
EmoticonEmoticon