python - 如何使用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 个数据怎么办?这将是一场灾难。
感谢您的时间。尊重地!
解决方案
- 我认为也许更容易将所有数据上传到熊猫数据框中并使用数据框的索引在那里工作。
- 也许这也很有趣。在这里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% 确定。
推荐阅读
- python - 在命令行中使用通配符作为 sys.argv[2]
- kotlin - 水平布局中的 Vaadin Grid 没有填满屏幕并且 flex grow 不起作用
- c++ - 在 C++ 中计算输入文本的新行
- java - java.io.NotSerializableException:为参数合格货币定义的设置器采用接口类型的参数
- javascript - 为什么我不能使用 AJAX 发布 JavaScript 变量
- hadoop - 在读取使用 sqoop 导入的数据时,在列字段中转义新行字符
- excel - Excel数据之间的空格怎么去掉?
- c#-4.0 - 如何从平面文本文件生成制表符分隔的文本文件
- wpf - 用户控件中的输入绑定不起作用
- spring-boot - 如何在多个 JPA 连接中使用 Hibernate Envers 进行审计