繁体   English   中英

使用python在现有的SQL Server表中附加来自excel的数据

[英]Appending data from excel in existing SQL Server table using python

我有一些包含重复数据的 CSV 文件,因此我需要使用此 python 脚本更新 SQL Server。

我曾尝试更新 Microsoft 的 SQL 驱动程序,但这对我没有帮助。

这是我的python代码:

import pandas as pd
import numpy as np
import seaborn as sns
import scipy.stats as stats
import matplotlib.pyplot as plt
from datetime import time 
from datetime import date
import pandas.io.sql
import pyodbc
import xlrd

server ='asd'
db = 'asd'

conn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + server + ';DATABASE=' + db + ';UID=asd ;PWD=asd')
cursor=conn.cursor()


query = """
INSERT INTO Db.table (
    Emp_ID  ,
    Global_ID,
    Emp_NAME,
    Org,
    SBU,
    BU,
    Sub_BU,
    HR_Location,
    Swipe_Loc,
    Descp,
    InOutDate,
    InTime,
    OutTime,
    ActHrs,
    ShiftCode,
    AttendanceClassification,
    ActualHrs
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"""


InOutDate= date.today()
InTime = time(11,11,11)
OutTime = time(11,11,11)
ActHrs = time(11,11,11)
ActualHrs = time(11,11,11)

values = ('2134123', '123213', 'Eqqwe', 'Org' , 'SBU' , 'BU ', 'Sub_BU' , 'HR_Location' ,'Swipe_Loc' ,' Descp' , InOutDate , InTime , OutTime , ActHrs , 'ShiftCode' ,'AttendanceClassification' ,ActualHrs )   
cursor.execute(query, values)
conn.close()

执行查询时出现以下错误:

Traceback (most recent call last):
File "update.py", line 97, in <module>
cursor.execute(query, values)
pyodbc.Error: ('HYC00', '[HYC00] [Microsoft][ODBC SQL Server Driver]Optional feature not implemented (0) (SQLBindParameter)')

确保日期时间格式在 python 和 SQL 之间兼容

您忘记在执行后添加cursor.commit() 执行命令只能​​用于某些选择和只读查询。 如果您想更改某些内容,您应该在之后添加cursor.commit()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM