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

pd.read_csv读取CSV时如何忽略括号内的逗号作为分隔符

正确实现代码

你需要使用负向先行断言的正则匹配括号外的逗号,同时要指定 pandas 用 Python 解析引擎(默认C引擎不支持正则分隔符),完整一行代码如下:

df = pd.read_csv("C:/Users/Marek/Downloads/0deg-5ms.csv", skiprows=5, delimiter=r',\s*(?![^()]*\))', engine='python')

正则逻辑说明

  • ,\s*:先匹配逗号和逗号后跟随的任意数量空白符,顺带处理原数据中逗号后的空格,避免列值带前导空格
  • (?![^()]*\)):负向先行断言,规则是:当前匹配的逗号后面,如果直到出现右括号)为止都没有出现左括号(,说明这个逗号在括号内部,就跳过不匹配;反之就判定为括号外的分隔逗号。

之前尝试失败的原因

  1. 你写的delimiter=',^(\(.*,.*\))'完全不符合正则匹配逻辑,无法命中任何逗号,所以所有内容都被识别为同一列
  2. 你写的,|(?:(\(.*,.*\)))会把括号内的内容也识别成分隔符,所以每匹配到一次括号内容就会多生成一个空列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:30:00