[英]how to insert pandas DataFrame into sql server line by line (row by row) using python
我试图将pandas逐行插入sql server,而不是同时插入,因为DataFrame包含一个巨大的行我希望插入是逐行的,并且在每一行之后打印“插入完成”或类似的东西
这是我同时插入所有行的代码
df = pd.DataFrame(data)
cursor = conn.cursor()
cursor.execute('''
SET ANSI_WARNINGS OFF;
CREATE TABLE Dir1(
EventID int,
Task int,
EventRecordID int,
Channel nvarchar(50),
computer nvarchar(50),
TargetUserName nvarchar(max),
TargetDomainName nvarchar(max),
TargetSid nvarchar(max),
ObjectClass nvarchar(max),
OpCorrelationID nvarchar(max),
SubjectUserSid nvarchar(max),
SubjectUserName nvarchar(max),
SubjectDomainName nvarchar(max),
)
''')
for row in df.itertuples():
cursor.execute('''
INSERT INTO Dir1 (EventID,Task,EventRecordID,Channel,Computer,
TargetUserName,
TargetDomainName,
TargetSid,
ObjectClass,
OpCorrelationID,
SubjectUserSid,
SubjectUserName
)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?)
SET ANSI_WARNINGS ON;
''',
row.EventID,
row.Task,
row.EventRecordID,
row.Channel,
row.Computer,
row.TargetUserName,
row.TargetDomainName,
row.TargetSid,
row.ObjectClass,
row.OpCorrelationID,
row.SubjectUserSid,
row.SubjectUserName,
)
conn.commit()
import pyodbc as ps
import pandas as pd
conn=ps.connect('Driver={SQL Server};'
'Server=server_namwe;'
'Database=practice_db;'
'Trusted_Connection=yes;'
)
cursor=conn.cursor()
df=pd.read_csv(r'C:\Users\zhaider\Desktop\bs.csv')
for i,j in df.iterrows():
cursor.execute(f'''insert into tbl99 (series,status) values(?,?)''',
j['Series'],j['STATUS'])
cursor.commit()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.