Python 更新现有访问文件语法错误

Python 更新现有访问文件语法错误,python,ms-access,pyodbc,Python,Ms Access,Pyodbc,我在更新现有访问表时遇到问题。我有一个Access数据库,它应该用两列对一些.log文件进行排序:filename和filedate。我在Excel文件中有文件名和文件日期,这是我通过对100多个.log文件进行排序而得到的,因此有100多个文件应该链接到Access 我每次都会出错,并且尝试了很多不同的方法。问题是我不知道如何编写语法。有人能帮我吗?我想要一个->文件名和一个->文件日期,这样每一对都有自己的ID import pypyodbc UDC = r'C:\Users\Kaise

我在更新现有访问表时遇到问题。我有一个Access数据库,它应该用两列对一些.log文件进行排序:filename和filedate。我在Excel文件中有文件名和文件日期,这是我通过对100多个.log文件进行排序而得到的,因此有100多个文件应该链接到Access

我每次都会出错,并且尝试了很多不同的方法。问题是我不知道如何编写语法。有人能帮我吗?我想要一个->文件名和一个->文件日期,这样每一对都有自己的ID

import pypyodbc


UDC = r'C:\Users\Kaiser\Documents\Access\UDC.accdb'
# DSN Connection
#constr = " DSN=MS Access Database; DBQ={0};".format(UDC)
# DRIVER connection
constr = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:/USERS/DOCUMENTS/ACCESS;DBQ=C:/USERS/DOCUMENTS/ACCESS/UDC.accdb"

# Connect to database UDC and open cursor
db = pypyodbc.connect(constr)
cursor = db.cursor()

sql = "UPDATE * INTO [tblLogfile]" + \
      "FROM [Excel 8.0;HDR=YES;Database=C:/Users/Documents/Access/Excel.xls].[Tab$];"

cursor.execute(sql)
db.commit()

cursor.close()
db.close()
错误


您需要类似以下内容的SQL:

sql = "INSERT INTO [tblLogfile] (<list of field names>) SELECT <list of matching field names> FROM [Excel 8.0;HDR=YES;Database=C:/Users/Documents/Access/Excel.xls].[Tab$];"

首先决定要做什么:-然后阅读适当的语法。@andre我已经阅读了有关UPDATE语句的内容,但我不明白如何在sgl变量中写入它,没有关于如何将excel文件与access链接的示例,这正是我试图做的。但是,我不知道我这样做是否是进行此传输的最佳方式,因此如果您有一些建议,我很高兴听到Insert用于向表中添加数据,update用于更新表中已有的数据。-您需要一个INSERT语句。
sql = "INSERT INTO [tblLogfile] (<list of field names>) SELECT <list of matching field names> FROM [Excel 8.0;HDR=YES;Database=C:/Users/Documents/Access/Excel.xls].[Tab$];"