使用iloc操作数据框数据后,无法直接将数据框值传输到SQL Server的原因是iloc返回的是一个新的数据框对象,而不是原始数据框的引用。因此,需要将iloc操作后的数据框转换为SQL Server可接受的格式,然后再进行传输。
一种常见的方法是使用pandas库中的to_sql函数将数据框中的数据传输到SQL Server。具体步骤如下:
import pandas as pd
import pyodbc
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=<server_name>;DATABASE=<database_name>;UID=<username>;PWD=<password>')
其中,<server_name>
是SQL Server的名称,<database_name>
是要连接的数据库名称,<username>
和<password>
是登录数据库所需的用户名和密码。
# 假设df是要操作的数据框
df_new = df.iloc[<row_indices>, <column_indices>]
其中,<row_indices>
是需要选择的行的索引,<column_indices>
是需要选择的列的索引。
df_new.to_sql('<table_name>', conn, if_exists='replace', index=False)
其中,<table_name>
是要创建或替换的目标表的名称,conn
是之前建立的数据库连接对象,if_exists='replace'
表示如果表已经存在,则替换原有表,index=False
表示不将数据框的索引列写入数据库。
通过以上步骤,就可以将经过iloc操作后的数据框值传输到SQL Server了。
推荐的腾讯云相关产品:腾讯云数据库SQL Server版(https://cloud.tencent.com/product/sqlserver)
领取专属 10元无门槛券
手把手带您无忧上云