【发布时间】:2015-12-07 23:48:51
【问题描述】:
我有一些数据存储在 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, a1 和 a2 这里显示为列表,但它们是迭代器对象,我不存储它们。
正如您在此处注意到的,a0 始终与 a 相同,并且我真的不需要将 a 存储在内存中,因为我只需要它一次,这就是 a0 所做的。所以我想做的是让某种迭代器对象直接迭代excel文件以捕获a0, a1和a2,就像我首先导入a然后迭代a0, a1, a2而不是a .
我尝试这样做的原因是,我的脚本计算所需的时间比从 Excel 导入数据所需的时间短。因此,为了提高脚本的性能,我需要找到一种方法来迭代 Excel,而不是将数据保存到内存中。我将不胜感激。
另外,我的评论:如果pandas 或其他一些库具有readThisCell() 类的功能,我可以轻松地制作自己的excel 迭代器。但我不知道我对 pandas 或任何其他库的选择是什么。
【问题讨论】:
-
试试:
pd.read_excel("your_file",skiprows=1)@Deniz
标签: python excel list pandas iterator