Python从工作表中提取单元格范围

时间:2017-07-05 04:12:34

标签: python excel csv

我需要从包含许多工作表的Excel电子表格中的2列中提取16行。我已经想出如何从输出需要启动的地方打印输出,但我只想要16行。我的脚本一直打印到底部。这是脚本:

import xlrd  
import csv  

wb = xlrd.open_workbook('myworkbook.xlsx').sheet_by_index(16) 
mydata = open("myoutput.csv", 'w') 

try:  
    for rownum in range(47, wb.nrows):  
        ipaddr.write(str(wb.cell(rownum, 4).value)+ ", " +(wb.cell(rownum, 6).value)+"\n") 
finally:  
  mydata.close()

当我尝试限制这样的范围时:

对于范围内的rownum(47,63 wb.nrows):

它只打印第47行。有什么想法我如何将输出限制为16行? TIA

1 个答案:

答案 0 :(得分:0)

怎么样:

import xlrd  
import codecs

wb = xlrd.open_workbook('myworkbook.xlsx').sheet_by_index(16) 
with codecs.open('myoutput.csv', 'w') as mydata:

for rownum in range(47, min(63,wb.nrows)):  
    mydata.write(str(wb.cell(rownum, 4).value) + ", " + str(wb.cell(rownum, 6).value) + "\n") 

mydata.close()
wb.close()