[英]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.