You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pandas获取Excel单元格的编号(如A21格式)

Pandas获取Excel A1格式单元格编号方案

完全可以实现,核心逻辑是将Pandas的0基列索引转换为Excel的字母列标识,再和对应行号拼接即可。

1. 列索引转Excel字母的工具函数

可以直接复用下面的转换函数,输入Pandas的0基列索引,返回对应的Excel列字母:

def num_to_excel_col(col_idx):
    # 入参:Pandas的0基列索引
    result = []
    # 转换为1基计算
    num = col_idx + 1
    while num > 0:
        num, remainder = divmod(num - 1, 26)
        result.append(chr(ord('A') + remainder))
    return ''.join(reversed(result))

2. 遍历过程中获取单元格编号的示例

以下是遍历DataFrame时,同步获取A1格式单元格编号的完整示例:

import pandas as pd

# 示例DataFrame,可替换为你读取到的Excel数据
df = pd.read_excel("你的文件路径.xlsx")

for row_idx, row_data in df.iterrows():
    # Excel行号计算:如果读取Excel时保留了表头行,Excel行号=Pandas行索引+2;无表头则+1
    excel_row_num = row_idx + 2
    for col_idx, col_name in enumerate(df.columns):
        # 生成A1格式单元格编号
        excel_col = num_to_excel_col(col_idx)
        cell_address = f"{excel_col}{excel_row_num}"
        # 此处可直接使用cell_address设置超链接
        print(f"单元格{cell_address},值为{row_data[col_name]}")

补充说明

  • 如果你同时使用openpyxl操作Excel,可直接调用内置方法转换列号,无需自己实现工具函数:
    from openpyxl.utils import get_column_letter
    # 入参需要是1基的列号,所以Pandas0基索引要+1
    excel_col = get_column_letter(col_idx + 1)
    
  • 行号计算可以根据你实际的Excel表头情况调整偏移量,确保和实际Excel单元格位置匹配即可。

内容的提问来源于stack exchange,提问作者Us86

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 15:24:03