python查询可变字段的语句怎么格式化保存到文档
查询语句可能三个字段或者4个字段,怎么查出来格式化保存文件。 python版本2.6.6
#coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
import time
import MySQLdb
class SelectSql(object):
def select_data(self,sql):
result = []
try:
conn = MySQLdb.connect('ip',port=3306,user='user',passwd='passwd',db='db',charset='utf8')
cur = conn.cursor()
cur.execute(sql)
alldata = cur.fetchall()
#print alldata
for col in alldata:
result.append(col)
#print result
except Exception as e:
print ('Error msg:' + str(e))
finally:
# if 'cur' in locals():
cur.close()
# if 'conn' in locals():
conn.close()
return result
def save_date(self,sql,filename):
results = self.select_data(sql)
with open(filename,'w') as f:
for result in results:
#如何保存查询出来变长的字段,字段可以用列表推导式弄出来,但是怎么格式化????
print >>f,("%10s %-20s %5d" % tuple([result[i] for i in range(len(result))]))
if __name__ == '__main__':
sql='slect a,b,c from table_a'
sql2= 'select e,f,g,h from table_b'
select = SelectSql()
select.save_date(sql,'name1.txt')
select.save_date(sql2,'name2.txt')