我需要从包含许多工作表的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
答案 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()