fread-指定一列的数据类型

问题描述 投票:1回答:1

我正在使用data.table::fread读取csv文件。是否有任何方法可以指定仅一列的类型,并让fread推断所有其他列?

背景:我有一个约60列的csv文件。对于除一列外的所有列,fread都会推断正确的数据类型。但是,还有一列是带有前导零的id列,应将其读取为字符,但应解析为数字,以除去前导零。

迷你示例:

csv文件:

id, size, weight
001, 180, 75
0001, 190, 90
002, 160, 58

所需的数据表:

df = data.table(id=c("001", "0001", "002"), size=c(180, 190, 160), weight=c(75, 90, 58))

[我知道我可以使用colClasses参数来指定列类的列表,但我不希望这样,因为fread会正确推断除一列之外的所有列。

我不能df[,id] <- as.character(df[,id]),因为通过删除前导零会丢失信息。

我正在使用data.table :: fread读取csv文件。有什么方法可以指定仅一列的类型,并让fread推断所有其他列?背景:我有一个约60列的csv文件。...

r data.table fread
1个回答
0
投票

正如Roland在评论中指出的,我们可以使用参数colClasses“带有命名向量,该向量通过名称指定列的子集的类型”。

© www.soinside.com 2019 - 2024. All rights reserved.