,可以通过以下步骤实现:
import pandas as pd
# 读取Excel文件
excel_data = pd.read_excel('path_to_excel_file.xlsx')
# 将数据存储在DataFrame对象中
df = pd.DataFrame(excel_data)
import pyodbc
# 连接到SQL Server数据库
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=server_name;DATABASE=database_name;UID=username;PWD=password')
# 执行SQL查询语句,获取表数据
cursor = conn.cursor()
cursor.execute('SELECT * FROM table_name')
sql_data = cursor.fetchall()
# 将数据存储在另一个DataFrame对象中
sql_df = pd.DataFrame(sql_data, columns=[column_name1, column_name2, ...])
# 合并Excel数据和SQL Server表数据
merged_df = pd.merge(df, sql_df, on='id', how='inner')
# 找出已修改的行
modified_rows = merged_df[merged_df['column_name'] != merged_df['column_name']]
# 更新已修改的行
for index, row in modified_rows.iterrows():
cursor.execute("UPDATE table_name SET column_name1 = ?, column_name2 = ? WHERE id = ?", row['column_name1'], row['column_name2'], row['id'])
# 提交事务
conn.commit()
以上是将Excel中已修改的行更新为SQL Server表的完整步骤。在实际应用中,可以根据具体需求进行适当的调整和优化。
领取专属 10元无门槛券
手把手带您无忧上云