迭代器遍历Excel文件

我有一些数据存储在Excel表格( .xlsx )中,我的当前Python脚本将它们读入内存中并使用它们进行计算。 我会用一个例子来解释我的脚本。

假设我的excel文件在特定列下有这样的数据: a = [1,2,3,4,5]

我正在使用pandas( pd.read_excel() )读取整个内存到内存中,并运行我自己的迭代器函数来获取:

 a0 = [1,2,3,4,5] a1 = [5,1,2,3,4] a2 = [4,5,1,2,3] 

等等。 基本上我把每个元素都移动了一些整数。 a0, a1a2在这里显示为列表,但它们是迭代器对象,我不存储它们。

正如你在这里注意到的, a0总是和a0相同a ,我不需要在内存中存储,因为我只需要它一次,这是a0所做的。 所以我想要做的是有某种迭代器对象来迭代excel文件直接捕获a0, a1a2 ,就好像我是先导入然后迭代a0, a1, a2遍历a

我试图做这样的事情的原因是因为,我的脚本用于计算的时间比从Excel导入数据所需的时间短。 所以为了增加我的脚本的性能,我需要find一种方法来遍历Excel,而不是将数据保存到内存中。 我将不胜感激任何帮助。

此外,我的评论:如果pandas或其他一些图书馆readThisCell()的function,这将使我容易做我自己的Excel迭代器。 但我不知道我的select与pandas或任何其他图书馆。

我没有pandas read_excel函数的经验,但是我们用openpyxl取得了很好的成功。 该库允许您定义指向特定工作表的variables,然后遍历该variables,如下所示(直接从他们的教程中拉出):

 from openpyxl import load_workbook wb = load_workbook(filename='large_file.xlsx', read_only=True) ws = wb['big_data'] # ws is now an IterableWorksheet for row in ws.rows: for cell in row: print(cell.value)