【问题标题】:python - Dataframe to SQL Serverpython - 到 SQL Server 的数据框
【发布时间】:2021-02-06 01:52:37
【问题描述】:

请不要使用 sqlalchemy,因为我没有端口信息 - 我只有服务器名称、数据库、用户名和密码。

import numpy as np
import pandas as pd

df = pd.DataFrame({'num_legs': [2, 4, 8, 0],
               'num_wings': [2, 0, 0, 0],
               'num_specimen_seen': [8, 2, 5, 6]},
             )
print(df)

我在 SQL Server 中有一个名为 Animal 的表,其中包含 LegswingsSpecSeen 列;

CREATE TABLE Habitat 
(
     Legs int,
     wings int, 
     SpecSeen nvarchar(50)
)

ServerName: SQL15A
Database: Habitat
SQL username: QATuser
Password: ****

我需要将这个DataFrame插入到SQL Server表中,DataFrame索引列也不需要插入到数据库表中。

【问题讨论】:

  • 无论你使用什么工具,你都需要这个端口。 SQLAlchemy 非常好——不要把它写下来。您可以尝试 SQL Server 的标准端口 (1433),也可以使用端口扫描器 (nmap) 来识别端口

标签: python sql-server dataframe


【解决方案1】:

here寻求帮助

import sqlalchemy
import pyodbc
engine = sqlalchemy.create_engine("mssql+pyodbc://<username>:<password>@<dsnname>")

# write the DataFrame to a table in the sql database
df.to_sql("table_name", engine)

【讨论】:

  • 您会检查“引擎”变量的实际填写方式吗?
  • engine = create_engine( "mssql+pyodbc://QATuser:pswd2@mssql2017:1433/Habitat?driver=ODBC+Driver+13+for+SQL+Server", fast_executemany=True) mssql2017 取决于您使用的版本 端口 1433 在某些情况下也可能会有所不同
  • 收到此错误:sqlalchemy.exc.InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
  • 分享我要做的github链接并推送
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-17
  • 1970-01-01
  • 2019-04-10
  • 2018-11-29
相关资源
最近更新 更多