当前位置: 首页 > 知识库问答 >
问题:

如何用pandas和sqlalchemy在雪花中插入变量或数组数据类型

厍晋鹏
2023-03-14

我有一个Pandas dataframe,其中包含几个列,这些列是列表。我希望将它们作为数组数据类型插入到雪花表中。

df_to_insert.to_sql("MY_SNOWFLAKE_TABLE_NAME",
                     snowflake_connection,
                     if_exists="append",
                     index=False,
                     dtype={'NAME_OF_COLUMN_WITH_LISTS': sqlalchemy.types.JSON})

共有1个答案

松亦
2023-03-14

解决这个问题的一个直接方法是:

  1. 将数据文件写入本地文本文件。
  2. 使用PUT命令上载到雪花舞台
  3. 运行将表创建或替换为select from STAGE,并在select语句中将字段强制转换为正确的类型。
 类似资料:
  • 使用odbctest和Snowflake 64位ODBC驱动程序for Windows: 这是odbc跟踪的相关部分: sqdrsvc 3dfc-52bc输入SQLPrepare HSTMT 0x000000435c961620 UCHAR*0x000000435d262720[140]“插入”sfdest“.”qauser“.”bt14726“(”varchar_10_col“,”varchar

  • 我的雪花实例上有一个数据库。数据库有两个模式和。 模式使用SQLAlchemy- 我有一个列的dataframe,如下所述,需要插入到上面创建的表中- 因此,为了插入数据帧,我使用了方法,如下所示- 数据帧。to_sql(table_name,self.engine,index=False,method=pd_writer,if_exists=“append”) 这会给我一个错误- 这个错误是因为

  • 我试图通过SQL语句将多行数组和结构插入到Snowflake中。要在列中插入值数组,我使用函数,要插入结构/字典/对象,我使用函数。 这将导致异常: SQL编译错误:VALUES子句中的表达式[Array_Construct(0,1,2)]无效 使用以下语法插入一行可以工作:

  • 我正在讨论这个问题,我的时间不多了,所以请大家帮忙:我想插入以下数据: 放入此表: ); 使用knex,这应该类似于smth: 由于这种语法对数组类型不起作用,我想知道如何做到这一点?有些人建议使用knex.raw(),但是我没有得到正确的语法,有什么帮助吗?

  • 当前,我有一个数组,当通过print_r()输出时,该数组如下所示; 我想将此数据插入到一个表中,每个元素值都属于其各自的字段。 问候。

  • 我试图使用以下代码将数据加载到雪花,但得到一个错误。 tmp是从Snowflake下载的,该表使用RStudio: