python字符连接效率问题
win32com.client打开excel,excel保存的是数据库table数据,用的是下面的字符连接方式,也试过先append成列表再join方法,直接+=方法,‘%s,%s’%(xx,xx)方法,发现效率都不高,十几个字段的表1500多记录要5分钟左右,有一个用perl写的版本处理同样的只需要30秒左右,perl用的连接字符方式是.=.本人最近工作没那么忙,在弄下python,想弄个python版本的导数据库小工具(已有perl版,但本人不懂perl),但发现字符连接耗时太多,导至整个过程长达1个多钟,没法忍受。求教下大家有没提高的方法。或者改进这段代码。感觉写的比较乱。最近才学python的
row = sh.UsedRange.Rows.Count
col = sh.UsedRange.Columns.Count
for r in range(2, row + 1):
sql_s = StringIO()
sql_s.write(sql_str)
cant_do = 0
for c in range(1, col + 1):
var = sh.Cells(r, c).Value
if (var == None):
if (c == 1):
cant_do = 1
break
elif (c <= real_col):
sql_s.write(',\'\'')
else:
if (isinstance(var, unicode)):
var = var.encode('gb18030')
if (c == 1):
sql_s.write('\'%s\'' % var)
else:
sql_s.write(',\'%s\'' % var)