while循环功能仅返回一个值

时间:2018-07-12 16:56:20

标签: python

我正在尝试制作一个python脚本,该脚本加载一些excel文档并尝试收集数据。

现在我正尝试从一个列返回所有数据,但是似乎当我在grab_index_id中使用for循环时,它仅返回列index id上的第一个值。

import openpyxl
from openpyxl import load_workbook

doc1 = openpyxl.load_workbook('sp_schema.xlsx')
master_sheet = doc1.get_sheet_by_name('Master List')

doc2 = openpyxl.load_workbook('slc.xlsx')
slc_sheet = doc2.get_sheet_by_name('Sheet1')

def grab_index_id():
     i = 0
     x = 1
     while i < 10:
        return (master_sheet.cell(row = x, column = 1).value)
        x = x + 1
        i = i + 1

print(grab_index_id())
  

索引ID

     

以退出代码0结束的过程

1 个答案:

答案 0 :(得分:1)

关键字return将返回一个值并结束该函数。 要返回列表,您应该使用:

def grab_index_id():
   return [master_sheet.cell(row = x, column = 1).value for x in range(1,12)]