在把数据写入Excel的过程中遇到了问题,写入的数据是for循环进去的,所以是分多次写入(每次for循环写入一次,一次有几十条数据)。
但是在第二次for循环写数据时,就会覆盖掉第一次写的数据,就是后一次写入的数据会覆盖掉之前写的,代码片段:
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('sheet')
biaotou = ['名称','代码','时间','开价','高价','低价','收价','涨额','涨幅','成量','成价','振','换率']
for i in range(0,len(biaotou)):
worksheet.write(0,i,biaotou[i])
workbook.save('%s.xlsx' % str(str(cons[0][0]) + '(' + str(cons[0][1]) + ')'))
open_file = xlrd.open_workbook('%s.xlsx' % str(str(cons[0][0]) + '(' + str(cons[0][1]) + ')'))
table = open_file.sheets()[0]
rows_num = table.nrows
for con in cons:
rows_num += 1
print(rows_num)
for i in range(0,13):
worksheet.write(rows_num,i,con[i])
workbook.save('%s.xlsx' % str(str(cons[0][0]) + '(' + str(cons[0][1]) + ')'))
我的解决方法是获取当前Excel的行数,然后写入的时候就从行数+1开始写数据,这样就不会覆盖掉,但是,但是行号每次for循环都是从1到60,第二次还是1到60。。。第三次还是1到60。。。讲道理每次都读取行号,应该是累加的呀
或者还有其它好的解决方法,pandas...help me