目标是使用sqlachemy将pandas数据帧原样写入雪花。是创建新表还是在现有表中添加行。
问题是使用雪花sqlachemy引擎时,它将所有列名和表名都转换为大写。 以下代码执行没有错误,但也不保存对象名称的大小写。
from sqlalchemy import create_engine
import pandas as pd
snowflake_engine = create_engine({connection_settings_here})
df = pd.DataFrame([{'col1': 2, 'col2': 2}])
df.to_sql('test1',con=snowflake_engine, index=False)
是否可以在雪花SQLAlchemy引擎中禁用自动大写字母或强制采用小写字母名称?
P.S。我尝试在表定义中添加双引号:
df.to_sql('\"test1\"',con=snowflake_engine, index=False)
但是随后,它周围产生了三重引号,但失败了:
CREATE TABLE """test1""" (
col1 BIGINT,
col2 BIGINT
)