r - 将磁盘帧写入 CSV 的最佳方法是什么?
问题描述
我正在查看文档,但没有看到写入 CSV 的功能。
似乎有一个写入磁盘帧的功能,但不清楚它以什么格式存储
write_disk.frame
将 data.frame/disk.frame 写入 disk.frame 位置。如果 df 是 data.frame,则在大多数情况下建议使用 as.disk.frame 函数
我可以使用fwrite
或write_csv
与磁盘框架一起使用吗?
解决方案
我懂了。我可能会添加写入 csv 功能,因为我经常看到这个请求。
不过,最好的跟踪方法是在 github 上提交问题https://github.com/xiaodaigh/disk.frame/issues我已经这样做了,这次请参阅https://github.com/xiaodaigh/disk.frame/问题/311
如果您想将每个块写入单独的 CSV,只需执行
df %>%
cimap(function(id, chunk) {
data.table::fwrite(chunk, file.path("some/path/", paste0(id, ".csv"))
NULL # return null since you don't need to return anything
}, lazy=FALSE)
例如
library(disk.frame)
a = as.disk.frame(nycflights13::flights)
cimap(a, function(chunk, id) {
data.table::fwrite(chunk, file.path(tempdir(), paste0(id, ".csv")))
NULL
}, lazy=FALSE)
dir(tempdir())
如果您想写入一个文件,只需修改为通过 写入一个文件append=TRUE
,但请确保关闭多个工作人员!
setup_disk.frame(workers = 1) # only one worker
cmap(a, function(chunk) {
data.table::fwrite(chunk, file.path(tempdir(), "one_file.csv"), append = TRUE)
NULL
}, lazy=FALSE)
setup_disk.frame() # turn multi worker back on
dir(tempdir())
推荐阅读
- c# - 一次性错误 - 通信对象无法用于通信,因为它已被中止
- javascript - Javascript - 关闭模态后关注元素
- google-chrome-extension - 循环读取带有 Chrome 扩展的 HTML 页面的内容
- c# - 为自己开发的扩展获取正确的 VS2017 实例
- android - RxJava2 与 Room 错误处理 - 数据库主线程异常
- search - Solr 中 IndexSearcher 的生命周期
- reactjs - 按下 Escape 键后的 event.stopPropagation() 从 react-select 的 v2 中移除
- laravel - Laravel 5.7,移动用户类,RegisterController 找不到
- c++ - 为覆盖 std::exception 的库生成 swig 接口时出错
- java - 如何将其值从excel单元格格式化的字符串变量与普通字符串变量进行比较?