我有如下所示的 Dataframe
val
5
7
17
95
23
45
df = pd.read_clipboard()
我想获取每个值的excel单元格/索引/行号
我正在尝试类似下面的内容,但不确定是否过于复杂
for row in range(1,99999):
for col in range(1,2999999):
if wb.sheets[1].range((row,col)).value == 5:
print("The Row is: "+str(row)+" and the column is "+str(col))
else
row = row + 1
我也尝试了类似下面的东西,但也不工作
wb.sheets[1].range("A9:B500").options(pd.DataFrame).value
基本上,我有一个值的列表,并希望找出哪些列和行中,他们出现在excel。有人能帮助我吗?
我希望我的输出如下所示。Excel行号是从Excel中提取/找到的
2条答案
按热度按时间ioekq8ef1#
请记住,panda Dataframe 的索引是从零开始的,而excel工作表的行号是从一开始的,因此,如果您想用panda解决这个问题
正确。但是,请注意,问题中的图片显示的是excel工作表的一部分,该部分应用了活动筛选器。此处提供的解决方案仅在excel中的数据未筛选时有效。
更新以响应第一条评论
您也可以在.isin中指定值,并根据行索引和列名获取它们的位置。以下代码以Pandas标记打印 Dataframe 中所有
5
和2
出现的行索引和列名(由于isin([5, 2])
)作为示例:wvt8vs2t2#
我认为获取索引行最简单的解决方案是使用以下命令:
将使用索引值创建一个新列。因此,您可以根据需要使用此列设置格式。