171. Excel表列序号 excel-sheet-column-number

给定一个Excel表格中的列名称,返回其相应的列序号。

例如,

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例 1:

输入: “A”
输出: 1
示例 2:

输入: “AB”
输出: 28
示例 3:

输入: “ZY”
输出: 701

26进制

class Solution {
    public int titleToNumber(String s) {
        int res=0;
        
        for(int i=0;i<s.length();i++){
           res=res*26+s.charAt(i)-'A'+1; 

        }
        return res;
    }
}
def process_step3(sheet): # 读取所有原始数据(标题行+数据行) all_rows = list(sheet.iter_rows(values_only=True)) # 创建新数据容器(包含标题行) new_data = [all_rows[0]] # 保留标题行 # 从第二行开始处理数据 for row in all_rows[1:]: # 拆分B列(索引1)的姓名 original_names = str(row[1]).strip() if not original_names: continue # 跳过空姓名 names = original_names.split('、') # 为每个拆分后的姓名创建新行 for name in names: # 复制原行所有数据 new_row = list(row) # 更新姓名列 new_row[1] = name.strip() # 保留其他列原始数据(G/L/M列已通过步骤2正确映射) new_data.append(new_row) # 清空原表数据 sheet.delete_rows(1, sheet.max_row) # 按新数据写入(包含标题) for idx, row_data in enumerate(new_data): sheet.append(row_data) # 生成序号(跳过标题行) if idx > 0: sheet.cell(row=idx+1, column=1, value=idx) # A列序号从1开始 # 设置日期格式(优化实现) date_columns = {'L': '开始时间', 'M': '结束时间'} for col_letter in date_columns: for cell in sheet[col_letter][1:]: # 从第二行开始 cell.number_format = 'YYYY-MM-DD' # 直接设置格式无需创建NamedStyle # 写入天数计算公式(优化循环) for row in range(2, sheet.max_row + 1): sheet[f'D{row}'] = f'=DAYS(M{row}, L{row}) + 1' # 包含头尾天数 修改以上代码,使B列按照“、”符号进行分行,填充行数据,B列有“/”符号,空值,空格符,回行符需要清洗掉
最新发布
04-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值