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

如何用Pandas读取含引号包裹列的空格分隔数据集?

问题描述

我有一个6列的数据集,引号"...."之间的文本算作一列,数据格式如下:

name kind number purenumber dew fin
John "['car' 'house' 'bicycle']" "[2 9 6]" 3 7 medium
Paul "['pool' 'gym' 'factory']" "[1 1 1]" 1 2 high

我需要将引号内的所有内容作为一列读取,列之间以空格作为分隔符,但未找到Pandas的正确加载方法。尝试以下代码:

import pandas as pd
df = pd.read_csv("/Users/comp1/Desktop/cost_val.csv",  delimiter = '	', sep=" ")

但无法正常工作,请问有没有快速用Pandas加载该数据的方法?

解决方案

Pandas的read_csv原生支持识别引号包裹的字段,你只需要修正分隔符参数即可,避免同时设置冲突的delimiter和sep(这两个参数等价,只需保留一个)。

直接使用以下代码:

import pandas as pd
# 用\s+匹配任意数量空格作为分隔符,自动识别双引号包裹的完整字段
df = pd.read_csv("/Users/comp1/Desktop/cost_val.csv", sep='\s+', quotechar='"')

关键说明:

  • sep='\s+':匹配一个或多个空格作为列分隔符,避免误拆分引号内的内容
  • quotechar='"':明确指定双引号为字段包裹标记,Pandas会自动将引号内的内容视为单个完整列

如果你的数据中引号内没有额外空格(如示例格式),甚至可以省略quotechar,因为Pandas默认会识别双引号包裹的字段。

你之前的代码同时设置了制表符和空格作为分隔符,导致参数冲突,这是无法正常加载的核心原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 08:15:54