You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python将Excel数据写入Snowflake表时遇pandas依赖缺失错误求助

Snowflake写入DataFrame报错MissingDependencyError:缺少pandas依赖

问题描述

已成功将Excel数据读取为pandas DataFrame,Snowflake连接也正常,但调用df.to_sql并使用pd_writer方法写入Snowflake表时,报错:
snowflake.connector.errors.MissingDependencyError: Missing optional dependency: pandas

代码示例

import pandas as pd

from sqlalchemy import create_engine
from snowflake.sqlalchemy import URL
from snowflake.connector.pandas_tools import pd_writer
url = URL(
    account = '',
    user = '',
    schema = 'TMP',
    database = 'TMP',
    warehouse= 'DATABRICKS',
    role = '',
    authenticator='externalbrowser',
)

engine = create_engine(url)
con = engine.connect()
df = pd.read_excel("C:\\Final.xlsx")
df.columns = df.columns.astype(str)
table_name = 'test_connect'
if_exists = 'replace'

df.to_sql(name=table_name.lower(), con=con,index= False, if_exists=if_exists, method=pd_writer)

完整报错堆栈

Traceback (most recent call last):
  File "C:\Users\XYZ\AppData\Roaming\JetBrains\DataSpell2022.2\scratches\scratch.py", line 32, in <module>
    df.to_sql(name=table_name.lower(), con=con,index= False, if_exists=if_exists, method=pd_writer)
  File "C:\Users\XYZ\AppData\Roaming\Python\Python310\site-packages\pandas\core\generic.py", line 2963, in to_sql
    return sql.to_sql(
  File "C:\Users\XYZ\AppData\Roaming\Python\Python310\site-packages\pandas\io\sql.py", line 697, in to_sql
    return pandas_sql.to_sql(
  File "C:\Users\XYZ\AppData\Roaming\Python\Python310\site-packages\pandas\io\sql.py", line 1739, in to_sql
    total_inserted = sql_engine.insert_records(
  File "C:\Users\XYZ\AppData\Roaming\Python\Python310\site-packages\pandas\io\sql.py", line 1322, in insert_records
    return table.insert(chunksize=chunksize, method=method)
  File "C:\Users\XYZ\AppData\Roaming\Python\Python310\site-packages\pandas\io\sql.py", line 950, in insert
    num_inserted = exec_insert(conn, keys, chunk_iter)
  File "C:\Users\XYZ\AppData\Roaming\Python\Python310\site-packages\snowflake\connector\pandas_tools.py", line 320, in pd_writer
    df = pandas.DataFrame(data_iter, columns=keys)
  File "C:\Users\XYZ\AppData\Roaming\Python\Python310\site-packages\snowflake\connector\options.py", line 36, in __getattr__
    raise MissingDependencyError(self._dep_name)
snowflake.connector.errors.MissingDependencyError: Missing optional dependency: pandas
Process finished with exit code 1

解决方案

1. 安装Snowflake Connector的pandas扩展依赖

Snowflake的pandas_tools模块需要单独安装对应的依赖组件,即使本地已安装pandas,也要执行以下命令:

pip install snowflake-connector-python[pandas]

该命令会安装snowflake-connector-python及其与pandas交互所需的全部依赖。

2. 环境一致性检查

  • 确认执行代码的Python环境和安装依赖的环境为同一个(避免虚拟环境与全局环境混淆)
  • 若使用conda环境,改用以下命令确保依赖兼容:
conda install snowflake-connector-python pandas

3. 验证安装(可选)

执行以下命令查看snowflake-connector-python的安装信息,确认pandas已被列为依赖:

pip show snowflake-connector-python

内容的提问来源于stack exchange,提问作者Nash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 12:40:50