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

如何用Python将Excel单元格内重复标识数据转为逗号分隔值

Python实现Excel单元格内容展开为逗号分隔格式

问题场景

Excel单个单元格内容为 "ABCD x3 ABC, BAC x 3",需要转换为 "ABCD,ABCD,ABCD,ABC,BAC,BAC,BAC" 的逗号分隔格式。

解决方案代码

def expand_cell_content(input_str):
    # 按逗号分割并清理每个片段的首尾空格
    segments = [seg.strip() for seg in input_str.split(',')]
    expanded_list = []
    
    for seg in segments:
        if 'x' in seg:
            # 拆分文本与重复次数(仅拆分第一个"x")
            content, count_part = seg.split('x', 1)
            clean_content = content.strip()
            # 转换次数为整数,处理x前后的空格
            try:
                repeat_count = int(count_part.strip())
                expanded_list.extend([clean_content] * repeat_count)
            except ValueError:
                # 若次数无效,默认添加一次内容
                expanded_list.append(clean_content)
        else:
            # 无重复标识,直接添加一次
            expanded_list.append(seg)
    
    return ','.join(expanded_list)

# 测试示例
sample_input = "ABCD x3 ABC, BAC x 3"
output = expand_cell_content(sample_input)
print(output)  # 输出结果:ABCD,ABCD,ABCD,ABC,BAC,BAC,BAC

代码说明

  1. 分割与清理:用逗号分割原字符串,去除每个片段的首尾空格,处理类似 ", BAC x 3" 这类带前置空格的情况。
  2. 重复逻辑处理:
    • 若片段包含 "x",拆分出待重复内容和次数,转换次数为整数后重复对应次数添加到结果列表。
    • 若片段无 "x",直接将内容添加一次到列表。
  3. 异常处理:如果次数不是有效整数(比如 "ABCD xabc"),默认只添加一次内容,避免程序报错。
  4. 结果合并:将结果列表用逗号连接成最终字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 18:15:37