Python怎么读取Excel的行数和列数?

在把数据写入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

阅读 17.1k
1 个回答

对简单数据类型,用 pandas 非常方便

# -*- coding: utf-8 -*-
import pandas as pd

df = pd.DataFrame([[1, 2, 3], [10, 20, 30]], columns=['a', 'b', 'c'])
df.to_excel('a.xlsx', 'demo sheet', index=False)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进