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

如何将整数拆分到Excel不同单元格?Python实现求助

整数拆分到Excel单元格的实现方案

要把整数拆成单个数字分别写入不同单元格,核心是先把整数转为字符串遍历每个字符,再逐个写入对应位置。针对你的代码,修改如下:

核心思路

  • 将整数转为字符串,逐个提取每个数字字符
  • 保持目标列不变,从指定起始行开始,逐行写入每个数字
  • 可选将字符转回整数,确保单元格是数值类型

修改后的代码

from openpyxl.utils import get_column_letter

# 遍历你的数据集合synopData
for row_idx in range(len(synopData)):
    for col_idx in range(len(synopData[row_idx])):
        # 获取当前要拆分的整数
        target_num = synopData[row_idx][col_idx]
        # 把整数转成字符串,拆分单个数字
        digit_chars = str(target_num)
        
        # 原代码中的起始列和起始行逻辑保留
        base_col = col_idx + 7
        base_row = row_idx + 2
        
        # 逐个写入每个数字到同一列的不同行
        for digit_offset, char in enumerate(digit_chars):
            # 计算单元格坐标:列不变,行随数字偏移递增
            cell_coord = f"{get_column_letter(base_col)}{base_row + digit_offset}"
            # 转成整数写入,若需要字符串可去掉int()
            newSheet[cell_coord] = int(char)

单独测试示例(拆分单个整数)

如果只是测试单个整数拆分(比如把12345写入A1到A5),可以用这段简化代码:

from openpyxl.utils import get_column_letter
from openpyxl import Workbook

wb = Workbook()
newSheet = wb.active

target_num = 12345
start_col = 1  # 对应A列
start_row = 1  # 对应第1行

digit_chars = str(target_num)
for idx, char in enumerate(digit_chars):
    cell_coord = f"{get_column_letter(start_col)}{start_row + idx}"
    newSheet[cell_coord] = int(char)

wb.save("test_split_num.xlsx")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 13:29:54