根据xlsx格式文件中的首列信息匹配后新增到sqlserver数据库,如果存在则更新,共三列。直接写python代码
时间: 2023-01-11 22:55:36 浏览: 147
最好用的Python连接Mysql库文件,防止SQL注入,可用数组编写SQL
这是一个简单的示例代码,可以帮助你实现这个功能。首先,你需要使用 python 的 openpyxl 库读取 xlsx 文件。然后,你可以连接到你的 SQL Server 数据库并使用 python 的 pyodbc 库执行 INSERT 或 UPDATE SQL 语句。
```python
import pyodbc
import openpyxl
# 连接到 SQL Server 数据库
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};'
'SERVER=server_name;'
'DATABASE=database_name;'
'UID=user_id;'
'PWD=password')
cursor = cnxn.cursor()
# 读取 xlsx 文件
wb = openpyxl.load_workbook('file.xlsx')
sheet = wb['Sheet1']
# 遍历每一行,根据首列信息匹配
for row in sheet.iter_rows(min_row=2):
col1 = row[0].value
col2 = row[1].value
col3 = row[2].value
# 检查首列信息是否存在于数据库中
cursor.execute("SELECT * FROM table WHERE col1 = ?", col1)
result = cursor.fetchone()
# 如果存在,执行 UPDATE 语句
if result:
cursor.execute("UPDATE table SET col2 = ?, col3 = ? WHERE col1 = ?", col2, col3, col1)
# 如果不存在,执行 INSERT 语句
else:
cursor.execute("INSERT INTO table (col1, col2, col3) VALUES (?, ?, ?)", col1, col2, col3)
# 提交更改
cnxn.commit()
```
希望这能帮到你!
阅读全文