首页 > 解决方案 > 如何使用python创建一个excel阅读循环

问题描述

我正在阅读一个 excel 文件,我想知道如何创建一个基于模式读取特定行的循环。例如,假设我想从我的 excel 表中读取前三行(对应于 0、1、2),然后读取第 10、11、12 行(对应于 9、10、11)等等。总行数为 156。

Hypothesis:
import numpy as np 
import pandas as pd 
df = pd.read_excel("My Excel.xlsx")
a = df.iloc[[0,1,2]]
b = [x + 1 for x in a] 



My code as it is right now.

import numpy as np 
import pandas as pd 
df = pd.read_excel("My Excel.xlsx")
A1 = df.iloc[[0,1,2]].mean() #This is my data transformation
A11 = 1 /(numpy.log10(A2))  # This is also 
A2 = df.iloc[[9,10,11]].mean()
A22 = 1/(numpy.log10(A2)).mean()
....
.... Doing this procedure for other teams of data (3 rows each team)
A17 = df.iloc[[146,147,148]].mean()
A177 = 1/(numpy.log10(A17)) 

所以我的问题是如何创建一个循环,从我的 Excel 文件中选择特定行并将我的转换应用到它,而不是一次做每一行。如果我有 1000 个数据怎么办?这将是一场灾难。

感谢您的时间。尊重地!

标签: pythonexcelpandasloopsrows

解决方案


  1. 我认为也许更容易将所有数据上传到熊猫数据框中并使用数据框的索引在那里工作。
  2. 也许这也很有趣。在这里https://stackoverflow.com/a/43257810/7127519
import xlrd
workbook = xlrd.open_workbook('All Train data.xlsx')
worksheet = workbook.sheet_by_index(0)
worksheet.cell(0, 0).value

我将它用于一个非常大的文件并为我工作。所以我认为不是阅读所有表格,但我不是 100% 确定。


推荐阅读