Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python从工作表中提取单元格范围_Python_Excel_Csv - Fatal编程技术网

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

Python从工作表中提取单元格范围,python,excel,csv,Python,Excel,Csv,我需要从excel电子表格中的两列中抽取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.

我需要从excel电子表格中的两列中抽取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如何:

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()
那么:

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()