hly*_*tes 2 sql-server csv sqlalchemy python-3.x pandas
我正在尝试使用 python 读取我的 csv 文件并将其作为新表放入 Microsoft SQL Server 2016。简单地说,我不想在SQL上创建表并导入csv,我想用python编写一个脚本,可以读取csv并为我在SQL中创建一个新表。
更新
我可能不得不重新考虑我的方法。我更正了驱动程序,但从to_sql. 我认为我的身份验证方案有问题。可悲的是,to_sql文档并sql_alchemy没有透露太多信息。开始考虑替代方案。
sqlalchemy.exc.DBAPIError was unhandled by user code
Message: (pyodbc.Error) ('08001', '[08001] [Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [53]. (53) (SQLDriverConnect)')
Run Code Online (Sandbox Code Playgroud)
import pandas as pd
import sqlalchemy
#Read the file
data = pd.read_csv(file.csv)
#Connect to database and write the table
server = "DERPSERVER"
database = "HERPDB"
username = "DBUser"
password = "password"
tablename = "HerpDerpTable"
driver = "SQL+Server+Native+Client+11.0"
#Connect to SQL using SQL Server Driver
print("Connect to SQL Server")
cnxn = sqlalchemy.create_engine("mssql+pyodbc://"+username+":"+password+"@"+server +"/"+database + "?driver="+driver)
Run Code Online (Sandbox Code Playgroud)
更新
我按如下方式重写了字符串,但它不起作用:
sqlalchemy.create_engine('mssql+pymssql://'+username+':'+ password + '@' + server + '/' + database + '/?charset=utf8')
data.to_sql(tablename, cnxn);
Run Code Online (Sandbox Code Playgroud)
这些是我的方法中需要注意的一些重要事项。请特别注意我在下面分享的第二个要点。我认为我的连接字符串create_engine不知何故或可能是错误的,但不知道出了什么问题,因为我遵循了文档。
to_sql将 写入数据库,但认为我的连接字符串可能仍然混乱?我在stackoverflow上咨询了这个问题。to_sql. 我也需要喂to_sql司机吗?如果是这样,说明我哪里出错的文档或示例代码在哪里?由于未来的目标和需求,我正在努力学习 Python 并将其用作脚本语言。我将不胜感激所提供的任何帮助、帮助和指导。
如果您使用 SQLAlchemy 版本 1.0.0+,则应明确指定 MS SQL Server 驱动程序:
例子:
engine = create_engine("mssql+pyodbc://scott:tiger@myhost:port/databasename?driver=SQL+Server+Native+Client+10.0")
Run Code Online (Sandbox Code Playgroud)
在 1.0.0 版更改:基于主机名的 PyODBC 连接现在需要明确指定的 SQL Server 驱动程序名称。SQLAlchemy 无法在此处选择最佳默认值,因为它因平台和安装的驱动程序而异。
SQL Server 本机客户端
SQL Server 本机客户端 10.0
SQL Server 本机客户端 11.0
或者,您可以使用pymssql:
engine = create_engine('mssql+pymssql://<username>:<password>@<freetds_name>/?charset=utf8')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1539 次 |
| 最近记录: |