【发布时间】:2018-09-26 06:34:06
【问题描述】:
我有以下格式的原始数据:
JobID,Publish,Expire,TitleAndDetail
7428,17/12/2006 2:00:00 PM,28/01/2007 2:00:00 PM,Project Engineer - Mechanical Looking,.....,....
7429,9/03/2006 2:00:00 PM,27/02/2007 2:00:00 PM,Supply Teacher The job is,.....,.....
如您所见,分隔符是逗号,但最后一列是包含逗号的文本块。 我正在使用 pandas 的 read_csv 函数来读取这个 CSV 文件。但是在 pandas 数据框中,每行中第 4 个逗号之后的文本部分会丢失。
raw_data = pd.read_csv(r"/ABC/JobDetails.csv",
names=['JobID', 'Publish', 'Expire', 'TitleAndDetail'],
header=None
)
如果使用string.split() 函数,我可以指定一个maxsplit 参数,即使有很多逗号,我也可以将所有内容保留在最后一列。 Pandas 中是否有类似的功能?
【问题讨论】:
-
您应该尝试获取一个以制表符作为分隔符 (.tsv) 的数据集,它对您的用例更稳定。另一种选择是用双引号“”包裹你的元素。这将使它假定它是一个组合条目,转义了元素内的所有逗号。
-
您的文件格式不正确;所以试图绕过这个基本上是忽略问题(原始文件应该有引用的字段)。