我有一个包含多边形的地理数据帧(geometry column),需要将其上传到Snowflake。我一直在尝试将此数据帧的geometry列导出为文件,尝试了CSV和GeoJSON格式,但是目前为止,我总是要么遇到错误,要么就得到一个空的staging table。
这是我的代码:
生成以下错误:
“文件中的列数(6)与对应表格(1)不匹配,使用文件格式选项error_on_column_count_mismatch=false来忽略此错误 文件'@~/polygons.csv.gz',第3行,第1个字符 第1行从第2行,第“DESIGN_POLYGONS_STAGING”[6]列开始 如果您希望在遇到错误时继续加载,请使用其他值(如‘SKIP_FILE’或‘CONTINUE’)作为ON_ERROR选项。有关加载选项的更多信息,请在SQL客户端中运行'info loading_data'。”
有人能够确定我做错了什么吗?
design_gdf['geometry'].to_csv('polygons.csv', index=False, header=False, sep='|', compression=None)
import sqlalchemy
from sqlalchemy import create_engine
from snowflake.sqlalchemy import URL
engine = create_engine(
URL(<Snowflake Credentials Here>)
)
with engine.connect() as con:
con.execute("PUT file://<path to polygons.csv> @~ AUTO_COMPRESS=FALSE")
然后在Snowflake上运行
create or replace table DB.SCHEMA.DESIGN_POLYGONS_STAGING (geometry GEOGRAPHY);
copy into DB.SCHEMA."DESIGN_POLYGONS_STAGING"
from @~/polygons.csv
FILE_FORMAT = (TYPE = CSV FIELD_DELIMITER = '|' SKIP_HEADER = 1 compression = None encoding = 'iso-8859-1');
生成以下错误:
“文件中的列数(6)与对应表格(1)不匹配,使用文件格式选项error_on_column_count_mismatch=false来忽略此错误 文件'@~/polygons.csv.gz',第3行,第1个字符 第1行从第2行,第“DESIGN_POLYGONS_STAGING”[6]列开始 如果您希望在遇到错误时继续加载,请使用其他值(如‘SKIP_FILE’或‘CONTINUE’)作为ON_ERROR选项。有关加载选项的更多信息,请在SQL客户端中运行'info loading_data'。”
有人能够确定我做错了什么吗?