【发布时间】:2017-08-14 11:45:39
【问题描述】:
fread() 和 fwrite() 是 R 中 data.table 包的一部分,它们的执行速度明显快于基本的 read.csv() 和 write.csv() 函数。
当我处理大量 csv 文件(数 GB 大小)时,我现在发现自己总是使用 fread() 和 fwrite() 而不是基本函数 read.csv() 和 write.csv(),因为它们的执行速度要快得多。
我现在开始怀疑read.csv() 和write.csv() 的表现优于fread() 和fwrite() 是否有任何正当理由(而不是单纯的意见)。
有没有这样的原因?
【问题讨论】:
-
CSV 的专用读写方法会考虑转义和字段分隔符等内容,而使用普通读写方法则必须自己处理。
-
不,没有。
-
fwrite可以写带有列表列的数据表 -
我能想到的唯一原因是避免包依赖(不是什么大事,而是一个决胜局)
-
这有点重复,但是当 fread 失败时你应该使用 read.csv。它可能仍然无法正常工作,但如果 csv 很小,则值得一试。
标签: r csv data.table read.csv