簡體   English   中英

使用 Snowflake python 連接器從 pandas 添加然后查詢臨時表

[英]Add and then query temp table from pandas with Snowflake python connector

我正在嘗試從 pandas df 創建一個臨時表,然后在 sql 語句中使用它

import snowflake.connector
from snowflake.connector.pandas_tools import write_pandas

with snowflake.connector.connect(
account='snoflakewebsite',
user='username',
authenticator='externalbrowser',
database='db',
schema='schema'
) as con:

    success, nchunks, nrows, _ = write_pandas(
        conn=con,                    
        df=df,
        table_name='temp_table',
        auto_create_table = True,
        table_type='temporary',
        overwrite = True,
        database='db',
        schema='schema' 
       )

    cur = con.cursor()
    cur.execute('select * from temp_table')    

我得到的錯誤:

ProgrammingError: 002003 (42S02): SQL 編譯錯誤:Object 'TEMP_TABLE' 不存在或未授權。

write_pandas()使用字母大小寫創建一個表,完全按照它在table_name=中傳遞的方式,而在cur.execute()中提交的查詢將整個字符串和查詢一起傳遞給 Snowflake SQL,Snowflake SQL 將 object 名稱大寫,除非它們是用雙引號寫的。

因此,要么使用大寫字母table_name='TEMP_TABLE',創建表,要么使用雙引號查詢它:

  cur.execute('select * from "temp_table"')

在這種情況下,您將以小寫字母創建表格,並且始終需要添加雙引號來引用其名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM