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

BizTalk平面文件架构:如何使用双引号作为分隔符

解决CSV字段拆分时出现多余逗号节点的问题

你的核心问题是直接用双引号作为分隔符拆分CSV行时,会把字段间的",拆分出单独的逗号元素。这是因为原字符串的字段分隔符实际是",",而非单纯的双引号。下面是几种可靠的解决方法:

方法1:使用标准CSV解析库(推荐)

几乎所有编程语言都自带处理CSV格式的标准库,它们会自动处理包含逗号的字段,完全规避这类问题。以Python为例:

import csv
from io import StringIO

csv_line = '"barn","40","10,120","bill"'
reader = csv.reader(StringIO(csv_line))
fields = next(reader)
print(fields)  # 输出: ['barn', '40', '10,120', 'bill']

方法2:手动按","拆分

如果不想用库,可以先去掉字符串首尾的双引号,再按","拆分:

csv_line = '"barn","40","10,120","bill"'
# 去掉首尾双引号,再拆分
fields = csv_line.strip('"').split('","')
print(fields)  # 输出: ['barn', '40', '10,120', 'bill']

这种方法适合格式规范的CSV行,要是存在转义双引号(比如"he said ""hello""")就会失效,此时还是用标准库更稳妥。

方法3:正则表达式匹配

用正则匹配所有被双引号包裹的内容,自动忽略字段内部的逗号:

import re

csv_line = '"barn","40","10,120","bill"'
fields = re.findall(r'"([^"]*)"', csv_line)
print(fields)  # 输出: ['barn', '40', '10,120', 'bill']

这个方法能处理大部分常规情况,但遇到转义双引号时同样需要调整正则规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 05:07:04