gpt4 book ai didi

sql-server - 用于 MS SQL 的 pandas to_sql

转载 作者:行者123 更新时间:2023-12-03 23:53:04 27 4
gpt4 key购买 nike

我正在尝试将数据帧保存到使用 Windows 身份验证的 MS SQL。我试过使用 engine , engine.connect() , engine.raw_connection()他们都抛出错误:'Engine' object has no attribute 'cursor' , 'Connection' object has no attribute 'cursor' , 和 Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': ...分别。

params = urllib.parse.quote('DRIVER={ODBC Driver 13 for SQL Server};'
'SERVER=server;'
'DATABASE=db;'
'TRUSTED_CONNECTION=Yes;')

engine = create_engine('mssql+pyodbc:///?odbc_connect=%s' % params)

df.to_sql(table_name,engine, index=False)

最佳答案

这将完全符合您的要求。

# Insert from dataframe to table in SQL Server
import time
import pandas as pd
import pyodbc

# create timer
start_time = time.time()
from sqlalchemy import create_engine


df = pd.read_csv("C:\\your_path\\CSV1.csv")

conn_str = (
r'DRIVER={SQL Server Native Client 11.0};'
r'SERVER=name_of_your_server;'
r'DATABASE=name_of_your_database;'
r'Trusted_Connection=yes;'
)
cnxn = pyodbc.connect(conn_str)

cursor = cnxn.cursor()

for index,row in df.iterrows():
cursor.execute('INSERT INTO dbo.Table_1([Name],[Address],[Age],[Work]) values (?,?,?,?)',
row['Name'],
row['Address'],
row['Age'],
row['Work'])
cnxn.commit()
cursor.close()
cnxn.close()

# see total time to do insert
print("%s seconds ---" % (time.time() - start_time))

关于sql-server - 用于 MS SQL 的 pandas to_sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54638767/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com