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

如何从Excel读取含内部逗号的分隔值并存入Python列表

解决方案

直接用Python内置的csv模块就能完美解决这个问题,它可以自动识别被单引号包裹的字段,即使字段内部包含逗号也能正确拆分。

代码实现

import csv
from io import StringIO

# 从Excel读取到的原始字符串
raw_str = "'a','b c','d','f,g'"

# 将字符串转为类文件对象,供csv解析
with StringIO(raw_str) as buffer:
    # 配置csv读取规则:单引号作为字段包裹符,逗号作为分隔符,跳过字段前的空格
    reader = csv.reader(buffer, quotechar="'", delimiter=',', skipinitialspace=True)
    # 读取第一行数据(因为你的字符串就是一行数据)
    target_list = next(reader)

print(target_list)
# 输出结果:['a', 'b c', 'd', 'f,g']

关键参数说明

  • quotechar="'":指定字段的包裹符号为单引号,让csv模块明确识别哪些内容属于同一个完整字段
  • delimiter=',':指定字段之间的分隔符是逗号
  • skipinitialspace=True:自动去掉逗号后面的空格,避免拆分后字段出现多余的前导空格(比如避免得到' b c'这类结果)

为什么不用正则?

正则表达式虽然也能实现类似效果,但如果后续数据出现更复杂的情况(比如字段内包含转义的单引号),正则的逻辑会变得非常复杂。而csv模块是Python专门为处理分隔符格式数据设计的,稳定性和通用性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 12:57:09