[英]Getting column header from snowflake table using python snowflake connector
[英]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.