DF与XW定位数据统一的简便方法
- 问题:
在对pd.read_excel导出的DF进行运算后如果想在原excel修改则我们常用到xw包,但是二者对于单元格的数据定位方式是不一样的。我们常要验证一下,以下提供一种简便的理解和操作方式。 - 条件:(这个不是绝对的条件,只是这种情况常见,以免例子实际运行不适用)
导出的DF以原excel第一行为列索引;
导出的DF自动以数字为行索引; - 步骤:
wb=xw.Book(r"D:\path\test501.xlsm")
ws = wb.sheets("23022")
myrange = ws.range("A2:Z100") # 此处是要点,从原excel内容体左上角到右下角
df = pd.read_excel(r"D:\path\test501.xlsm",sheet_name="23022")
print(df)
print(df.iloc[3,4]) # 例子,二者一致
print(myrange[3,4].value)
- 优点:
这样df与xw定位采用的数据一致,不用再烦心单元格对应关系。