根据xls格式文件中的首列信息匹配后新增到sqlserver数据库,如果存在则更新,共三列。python代码
时间: 2023-01-11 07:55:36 浏览: 171
你可以使用 Python 中的 openpyxl 库来读取 xls 文件,然后使用 pyodbc 库来连接和操作 SQL Server 数据库。
具体来说,你可以这样做:
1. 安装 openpyxl 和 pyodbc 库:
```
pip install openpyxl
pip install pyodbc
```
2. 使用 openpyxl 读取 xls 文件,获取数据:
```python
from openpyxl import load_workbook
workbook = load_workbook(filename)
sheet = workbook.active
rows = sheet.rows
columns = sheet.columns
data = []
for row in rows:
data.append([cell.value for cell in row])
```
3. 使用 pyodbc 连接并操作 SQL Server 数据库:
```python
import pyodbc
# 连接字符串
conn_str = 'DRIVER={ODBC Driver 17 for SQL Server};' \
'SERVER=localhost;' \
'DATABASE=testdb;' \
'UID=user;' \
'PWD=password'
# 建立连接
conn = pyodbc.connect(conn_str)
# 创建游标
cursor = conn.cursor()
# 遍历数据列表
for row in data:
# 对于每一行,如果存在则执行更新操作,否则执行插入操作
cursor.execute("SELECT COUNT(*) FROM table WHERE column1 = ?", row[0])
if cursor.fetchone()[0] > 0:
cursor.execute("UPDATE table SET column2 = ?, column3 = ? WHERE column1 = ?", row[1], row[2], row[0])
else:
cursor.execute("INSERT INTO table (column1, column2, column3) VALUES (?, ?, ?)", row[0], row[1], row[2])
# 提交操作
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
```
这样就可以根据 xls 文件中的首列信息匹配后新增或更新到 SQL Server 数据库了。
阅读全文