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

如何去除读取CSV文件时值中的双引号?

解决CSV字段双引号去除问题

你的CSV内容:

Mp4,Mp3,"1234554"

当前代码通过正则分割后,第三个字段保留了包裹的双引号。可以通过以下两种方式解决:

方法一:直接去除字段首尾的双引号

在打印前对每个记录做处理,用strip(b'"')去掉字节串首尾的双引号:

import re

# 假设csv是你的字节列表
csv = [b'Mp4,Mp3,"1234554"']
csv = b''.join(csv).split(b'\n')
for index, row in enumerate(csv):
    if not row:  # 跳过空行
        continue
    row = re.split(b''',(?=(?:[^'"]|'[^']*'|"[^"]*")*$)''', row)
    for records in row:
        # 去除首尾的双引号
        cleaned_record = records.strip(b'"')
        print(cleaned_record)

方法二:使用Python内置csv模块(更推荐)

手动用正则处理CSV容易踩坑(比如字段包含换行、转义引号等场景),Python内置的csv模块可以自动处理带引号的字段,无需手动写正则:

import csv
from io import BytesIO

# 假设csv是你的字节列表
csv_data = b'Mp4,Mp3,"1234554"'
# 用BytesIO模拟文件对象
with BytesIO(csv_data) as f:
    reader = csv.reader(f.read().decode('utf-8').splitlines())
    for row in reader:
        for record in row:
            print(record)

如果处理的是字节流,也可以直接按文本模式处理,csv模块会自动解析掉字段的包裹引号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 05:18:18