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

如何在CSV解析时忽略引号内部的换行符以正确拆分字段

实现方案

标准CSV格式规范本身就允许双引号包裹的字段内包含换行符、逗号、空格,不需要自己手写字符串拆分逻辑,直接使用对应语言的标准CSV解析库即可,默认就会自动处理引号内的换行识别问题。

Python 实现示例

Python内置了csv模块,直接调用即可,无需安装额外依赖:

import csv

# 读取本地CSV文件
with open('你的文件路径.csv', 'r', encoding='utf-8') as f:
    reader = csv.reader(f)
    for row in reader:
        # 输出的row就是你需要的字段列表
        print(row)
        # 输出示例:['oneWordString', 'string with spaces', 'string\n  with\n  some, lines', 'anotherString']

如果是直接处理CSV格式字符串,也可以用以下方式实现:

import csv
from io import StringIO

csv_content = '''oneWordString,"string with spaces","string
  with
  some, lines",anotherString'''

reader = csv.reader(StringIO(csv_content))
result = next(reader)
print(result)

JavaScript(Node.js)实现示例

使用Node.js生态常用的csv-parser库即可,默认支持引号内换行处理:

const fs = require('fs');
const csv = require('csv-parser');

const results = [];
fs.createReadStream('你的文件路径.csv')
  .pipe(csv({ headers: false })) // 不需要自动识别表头可添加该参数
  .on('data', (data) => results.push(Object.values(data)))
  .on('end', () => {
    console.log(results[0]);
  });

注意事项

  • 不要自己用split(',')或者手动按行切割的方式处理CSV,非常容易遇到引号内特殊字符、转义字符不兼容的问题
  • 如果你的CSV使用单引号包裹字段,只需要在对应解析库的配置里修改quotechar参数为单引号即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:18:05