对 Excel说拜拜,我开源了一款与 Python 深度集成的神器级 IDE

这是一款与 Python 深度集成、基于 Web 开发、无需在各个工具之间切换、适用大部分职业工作场景的开源电子表格应用程序。对它的评价只有 Wow awesome,amazing!

一位名叫 Rick Lamers 的外国小哥开源了一款与 Python 深度集成、基于 Web 的电子表格应用程序。

这个开源项目有多牛呢?如果你经常与 Excel、R Studio 和 Python 打交道,反复在各个应用间切换,它可以完美解决你的所有问题。这是一款程序员能用、运营能用、产品能用、财务能用的神器级 IDE。

为什么要开发 Grid Studio?

Grid Studio 主要要解决的问题是如何在开发数据科学项目时不需要在各种工具(比如 R Sudio、Excel)之间切来切去,因为那种体验实在太糟糕了。

在导出 CSV 文件时,因为行数太多或者尝试读取 JSON 文件会导致应用程序窗口没有响应。现有的工具无法提供高效的开发环境和工作流。

于是,Rick 决定开发一个工具,把他的工作流集成在一起,可以方便地应对各种项目。

Grid Studio 的工作原理

Grid Studio 是一款基于 Web 的应用程序,看起来和 Google Sheets 或 Excel 很像。不过,它的杀手锏特性是与 Python 的深度集成。

你可以直接用它查看和编辑表格结构的数据,也可以直接在上面编写和执行 Python 代码。

在 Grid Studio 中可以直接通过 Python 读写电子表格。

要向表格中写入数据,可以这样:

复制代码

sheet("A1:A3", [1,2,3])

要从表格中读取数据,可以这样:

复制代码

my_matrix= sheet("A1:A3")

这些简单的函数可以实现数据的自动录入、抽取、可视化,等等。

编写自定义函数

虽然上述的读写函数已经可以满足很多需求,但有时候也需要编写自定义函数,然后在表格中调用这些函数。

Grid Studio 默认支持常用的表格函数,比如 AVERAGE、SUM、IF,等等。但如果你想要使用其他函数,那该怎么办?

自己动手写!

复制代码

defUPPERCASE(a):

returnstr(a).uppercase()

然后就可以在表格中调用这个函数,就像调用常规的函数一样。

利用 Python 生态系统

Python 生态系统提供了很多非常棒的数据科学开发工具:

借助这些工具可以很容易地使用强大的模型,比如线性回归和 SVM。

Docker 运行时

Grid Studio 运行在 Docker 容器中,可以很方便地访问 UNIX 环境(甚至是 Windows!)中的东西:Python、scikit-learn、numpa、pandas、terminal、wget、zip,等等。

Grid Studio 提供了预先构建好的 Docker 镜像,可以通过简单的命令行来启动。

数据可视化

数据可视化是数据科学的一项常见任务。Grid Studio 与 Plotly.js 和 Matplotlib 深度集成,为高级数据可视化提供了内置支持。

为了演示 Grid Studio 的功能,接下来将提供一些具体的例子。

示例:爬取网络内容

之前爬取网络内容可能需要在各种工具之间切换,现在只需要一个脚本就够了。

在上面的示例中,一个简短的脚本直接将 Hacker News 网站的文章加载到表格中。

脚本地址:

https://github.com/ricklamers/gridstudio/blob/master/examples/scrape.py

示例:估计正态分布

这个例子演示了使用 Plotly.js 进行高保真正态分布估计,交互式绘图让你对正在发生的事情一目了然。

脚本地址:

https://github.com/ricklamers/gridstudio/blob/master/examples/estimate_normal.py

开源动机

虽然最初 Rick 想将这个工具打造成一个商业项目,但最后还是决定将其开源,让每个人都能使用它,并有可能由来自社区的一小批数据爱好者负责开发。

在开发这个工具的初期,他发现有很多项目都提供了类似的功能。

首先,有一个叫作 xlwings 的插件将 Python 直接集成到 Excel 中。尽管它并不是真的将电子表格和 Python 集成到单个产品中,但确实为用户提供了一个完整的 Excel 开发环境。

其次,Python 已经从 IPython 转向了 Jupyter Notebooks,为数据科学家提供了一个很好的开发环境。虽然它仍然缺乏电子表格功能,但对于初级数据科学家来说仍然很有吸引力。

总的来说,如果把 Grid Studio 做成商业项目,它就要与这些开源产品展开竞争,这样在价格上就不会有任何优势。Rick 坚信 Grid Studio 提供了一些独特的功能,在某些场景下会成为不二之选。

Grid Studio 的项目地址:

https://github.com/ricklamers/gridstudio。

开发者评价

东西好不好,开发者最知道。

Bruh, this is amazing. You should sell this shit are you kidding me?!

兄弟,这也太牛了,你应该把这玩意儿卖钱啊,(开源)是在逗我?

As a heavy excel user who despises vba, this looks amazing

作为一个鄙视 VBA 的 Excel 重度用户,这也太牛了吧

I showed this to my brother, who’s not a programmer, and he said “holy shit!”. Well, it’s impressive. Good job!

我把这个给我不是程序员的哥哥看,他说:我去,太牛了,干得漂亮!

除了整齐划一的 wow awesome、amazing 的赞叹,开发者们同样提出了很多改进意见,并且表示可以加入社区一起优化这个工具。版本和开发计划 Grid Studio 现在就可以从 GitHub 上下载了。

增加更多原生函数(比如 AVERAGE、SUM、IF 之外),甚至是来自 Libre Office Calc 或 Excel 的函数。

在表格中输入公式时提供语法高亮和函数提示。

高级排序和过滤功能。

扩展控件,使用 Plotly.js 进行交互式可视化。

更容易地分享工作空间或代码(比如导出工作空间)。

实时协作(这个可能会很困难)。

提供插件 API 或接口。

将公式解析器升级成真正的基于语法的解析器。

Python 语法自动完成。

性能优化。

与 Python 更健壮地集成(不会出现字符、语句断开)。

如何使用 Grid Studio?

在本地安装 Grid Studio(确保已经安装了 Docker):

克隆代码库:git clone

https://github.com/ricklamers/gridstudio

运行 bash 脚本(在 Windows 上使用 Git Bash):

cd gridstudio && ./run.sh

在浏览器中打开

http://127.0.0.1:8080

你感兴趣吗?

原文链接:

https://hackernoon.com/introducing-grid-studio-a-spreadsheet-app-with-python-to-make-data-science-easier-tdup38f7

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容