gpt4 book ai didi

在 R 中读取 CSV 并按名称过滤列

转载 作者:行者123 更新时间:2023-12-04 22:54:48 27 4
gpt4 key购买 nike

假设我有一个包含数十或数百列的 CSV,并且我只想提取大约 2 或 3 列。我知道 colClasses解决方案如所述 here但代码变得非常不可读。

我想要类似 usecols 的东西来自 pandas' read_csv .

加载所有内容并在之后选择不是解决方案(文件超大,不适合内存)。

最佳答案

一种方法是使用包 sqldf .如果您了解 SQL,则可以读入大文件,仅过滤您想要的部分。

我将使用内置数据集 iris为了使示例可重现,请先将其保存到磁盘。

write.csv(iris, "iris.csv", row.names = FALSE)

现在的问题。
参数 row.names就像在 write.csv操作说明。
注意 Sepal.Length 周围的反引号.这是由于列名称中的点字符所致。
library(sqldf)

sql <- "select `Sepal.Length`, Species from file"
sub_iris <- read.csv.sql("iris.csv", sql = sql, row.names = FALSE)

head(sub_iris)
# Sepal.Length Species
#1 5.1 "setosa"
#2 4.9 "setosa"
#3 4.7 "setosa"
#4 4.6 "setosa"
#5 5.0 "setosa"
#6 5.4 "setosa"

和最后的清理。
unlink("iris.csv")

关于在 R 中读取 CSV 并按名称过滤列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54611277/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com