@@ -423,16 +423,17 @@ def insert(self):
423
423
ins = self .insert_statement ()
424
424
data_list = []
425
425
# to avoid if check for every row
426
+ keys = self .frame .columns
426
427
if self .index is not None :
427
- for t in self .frame .iterrows ():
428
+ for t in self .frame .itertuples ():
428
429
data = dict ((k , self .maybe_asscalar (v ))
429
- for k , v in t [1 ]. iteritems ( ))
430
+ for k , v in zip ( keys , t [1 :] ))
430
431
data [self .index ] = self .maybe_asscalar (t [0 ])
431
432
data_list .append (data )
432
433
else :
433
- for t in self .frame .iterrows ():
434
+ for t in self .frame .itertuples ():
434
435
data = dict ((k , self .maybe_asscalar (v ))
435
- for k , v in t [1 ]. iteritems ( ))
436
+ for k , v in zip ( keys , t [1 :] ))
436
437
data_list .append (data )
437
438
self .pd_sql .execute (ins , data_list )
438
439
@@ -758,8 +759,8 @@ def insert_statement(self):
758
759
def insert (self ):
759
760
ins = self .insert_statement ()
760
761
cur = self .pd_sql .con .cursor ()
761
- for r in self .frame .iterrows ():
762
- data = [self .maybe_asscalar (v ) for v in r [1 ]. values ]
762
+ for r in self .frame .itertuples ():
763
+ data = [self .maybe_asscalar (v ) for v in r [1 :] ]
763
764
if self .index is not None :
764
765
data .insert (0 , self .maybe_asscalar (r [0 ]))
765
766
cur .execute (ins , tuple (data ))
0 commit comments