gpt4 book ai didi

ipython-notebook - ipython 笔记本 : custom cells and execute hook

转载 作者:行者123 更新时间:2023-12-04 08:32:25 24 4
gpt4 key购买 nike

我想覆盖在 ipython notebook 中为某些单元格按下 run 时会发生什么。

例如,我希望能够直接在单元格中编写 SQL 查询并定义一个处理它的函数。

似乎应该可以像 ipython-notebook extensions 一样做到这一点。 .有人知道类似的扩展吗?直接从 ipython 执行此操作的简单方法?

理想情况下,这将涉及定义自定义单元格类型,但我很乐意使用特殊标签将通常的 Python 代码与自定义 SQL 查询单元格分开。

最佳答案

我曾经有过类似的愿望,最终得到了以下解决方案:

from sqlalchemy import create_engine
import pandas as pd
from IPython.core.magic import register_cell_magic
from IPython import get_ipython
con = create_engine(DB_URL)

@register_cell_magic
def sql(line, cell):
cell = cell.format(**globals())
if line.strip() != '-':
res = pd.read_sql(cell, con)
if line.strip() != '': get_ipython().user_ns[line.strip()] = res
return res
else:
con.execute(cell)
del sql

您现在可以在其他单元格中写入:
%sql outputvar
select * from whatever where ...

例如:

Screenshot

关于ipython-notebook - ipython 笔记本 : custom cells and execute hook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29888736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com