现有指令仅支持指定分隔符分割成多列,但在实际工作中有些小伙伴需要按固定长度分列


1.新建自定义指令
2.新建python模块
3.粘贴以下代码
# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块
import xbot
from xbot import print, sleep, excel
from .import package
from .package import variables as glv
def main(args):
pass
def split_fixed_length(text, length):
"""按固定长度分割字符串"""
if text is None or text == '':
return [] # 如果是 None 或空字符串,返回空列表
text_str = str(text) # 确保输入是字符串
return [text_str[i:i + length] for i in range(0, len(text_str), length)]
def split_col(workbook, sheet_name, col, new_col, fixed_length):
worksheet = workbook.get_sheet_by_name(sheet_name)
# 获取要分列的列(假设为 col 列)
original_column_data = worksheet.get_column(col)
# 存储分割后的数据
split_data = []
for cell in original_column_data:
# 处理每个单元格,分割并添加到 split_data
split_row = split_fixed_length(cell, fixed_length)
split_data.append(split_row)
# 将分割后的数据写入新的列(假设从 new_col 列开始)
for row_index, split_row in enumerate(split_data):
for col_index, value in enumerate(split_row):
print(value)
if value: # 只写入非空值
worksheet.set_cell(row_index + 1, chr(ord(new_col) + col_index), value)4.主流程中新建流程参数,编辑指令信息填写指令参数


5.在主流程中调用模块中的split_col函数,传入对应参数

6.发版指令,在流程中调用
