我知道一旦创建了数据框,加载特定列就变得非常容易。例如:
df_selected = df.select("col1", "col2", "col3")
但是,如果 col3 包含 JSON 数据而我只是不想要全部数据,会发生什么情况。这是该列中的一个这样的值:
如果我在 SQL 中(在 Snowflake 中)查询这个并且只想要设计器,我可以写如下:
从 df 选择 col3:Construction_method:CAD:designer
我在 Snowpark 中尝试了以下代码的各种变体,但都不起作用:
df_selected = df.select("col3:Construction_method:CAD:designer")
有没有什么方法可以实现这一点,或者是否需要在数据框最初创建时完成,因此可以用 SQL 编写,如下所示:
session.sql("从 DF 选择 col3:Construction_method:CAD:designer")
理想情况下,我想在 Snowpark 创建初始 DF 之后执行此操作。
我不是 Snowpark 专家,但这里有一个关于处理 Snowpark 中的变量数据的部分:
https://docs.snowflake.com/en/developer-guide/snowpark/python/working-with-dataframes#label-snowpark-python-dataframe-semistructed-traverse
这会让我假设这就是您正在寻找的:
让我知道这是否适合您。它可以让你免受 Pandas 的侵害,并且应该在 Snowpark 中按照你想要的方式执行。