Python 利用Excel单元索引访问数据帧

Python 利用Excel单元索引访问数据帧,python,excel,pandas,dataframe,Python,Excel,Pandas,Dataframe,我已将Excel电子表格导入到数据框中。我希望像访问Excel一样访问数据 参考:例如df.get(“A1”)而不是df.iloc[0,0]。使用Excel索引访问数据帧数据是否已经有了一种很好的方法?类似于上面我想象的get函数?不是Pandas,而是xlswriter这样做的:您可以编写一个简单的函数来完成从Excel索引到数值索引的转换: 将regex作为re导入 def索引转换(excel索引): match=re.match(r“^([a-z]+)(\d+$”,excel_index.

我已将Excel电子表格导入到数据框中。我希望像访问Excel一样访问数据
参考:例如df.get(“A1”)而不是df.iloc[0,0]。使用Excel索引访问数据帧数据是否已经有了一种很好的方法?类似于上面我想象的get函数?

不是Pandas,而是xlswriter这样做的:

您可以编写一个简单的函数来完成从Excel索引到数值索引的转换:

将regex作为re导入
def索引转换(excel索引):
match=re.match(r“^([a-z]+)(\d+$”,excel_index.lower())
如果不匹配:
raise VALUERROR(“无效索引”)
x_单元=-1
对于idx,枚举中的字符(match.group(1)[:-1]):
x#u单元+=(26**idx)*(ord(char)-96)#ord('a')==97
y_cell=int(匹配组(2))-1
返回y单元,x单元
#用法
iloc[*index_transform(“A1”)]#*解压返回的元组
#示例输出
>>>索引_变换(“A1”)
(0, 0)
>>>索引_变换(“E1”)
(0, 4)
>>>索引_变换(“A5”)
(4, 0)
>>>索引_变换(“e5”)
(4, 4)
>>>索引_变换(“AA27”)
(26, 26)
>>>指数转换(“咖啡1337”)
(1336, 42608414)

是否已经有一种很好的方法可以通过Excel索引访问数据框数据-类似于上面我想象的get函数?据我所知,还没有,虽然实现助手函数应该不会太困难。现有方法是否不足?鉴于我的OP约束声明我想使用Pandas,我接受上述解决方案。然而,我确实认为我将使用xlswriter来实现。非常感谢。变量名和函数名应该跟在带有下划线的
小写字母后面。@goldfinger您能回答我关于为什么需要这样做的问题吗?Pandas中很少需要访问特定元素,我对您的用例既关心又好奇。我正在尝试解析一个硬编码的Excel电子表格,其内容可能会更改。因此,我在电子表格中引用一个指定的单元格,并验证其内容,以确认电子表格的内容没有更改(例如,通过添加行或更改lebel)。