python - 如何处理雪花连接器 pd_writer 带括号的列
问题描述
我正在通过snowflake-connector
. 中的列df
有(
,)
在里面。我正在尝试用df.to_sql(table, con=engine, index=False, if_exists='replace', method=pd_writer)
.
- 这是动态创建表。
- 将
df
in parquet 文件转换PUT
为 S3 存储桶。 - 尝试对
COPY
parquet 数据进行处理,table
但出现异常。
复制 sql -
COPY INTO "DB1.SCHM1.T1" /* Python:snowflake.connector.pandas_tools.write_pandas() */
("Name", "Year(1)", "Year(2)")
FROM
(SELECT $1:Name, $1:Year(1), $1:Year(2) FROM @"djaks")
FILE_FORMAT=(TYPE=PARQUET COMPRESSION=auto)
PURGE=TRUE ON_ERROR=abort_statement
错误 -
SQL Compilation error: Syntax error line 1 at position X unexpected '1'. syntax error line 1 at position X ','.
这是因为语法$1:Year(1)
。我无法更改列名,其他解决方案是什么?
解决方案
尝试将列标识符放在引号中: (SELECT $1:"Name", $1:"Year(1)", $1:"Year(2)" FROM @"djaks")
未加引号的标识符不能在雪花中包含 ( 或 )。
https://docs.snowflake.com/en/sql-reference/identifiers-syntax.html
推荐阅读
- html - 如何更改整个部分的背景?我应该在哪个班级使用?
- reactjs - 为什么 this.props 在 handleLogin 方法中未定义?
- laravel - 文件上传总是在 laravel 中返回 NULL
- html - 页脚图层不显示
- php - 在 Woocommerce 电子邮件通知中将产品名称替换为 SKU
- javascript - 有没有办法从 StackEdits 工具栏中删除 StackEdit 按钮?
- regex - 在 Go 正则表达式中拆分浮点字符串
- python - 如何在第 1 类中更改第 2 类(Tkinter)中的小部件(标签)的属性?
- python - objects.filter by User 只为一个用户过滤数据
- ios - 为什么安装 Stripe pod 并在代码目标 c 中使用 Stripe 后出现 pod 错误?