如何导出每个键的数据表? [英] How to export a datatable for each key?

查看:117
本文介绍了如何导出每个键的数据表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们来看看datatable:

Let's consider the datatable :

> dt=data.table(v1=1:10, v2=c(rep("a",5),rep("b",5)))
    v1 v2
 1:  1  a
 2:  2  a
 3:  3  a
 4:  4  a
 5:  5  a
 6:  6  b
 7:  7  b
 8:  8  b
 9:  9  b
10: 10  b

我将如何将 dt 导出为尽可能多的文件,因为 v2 命名文件?含有一个文件名为 a 包含 1 2 3 4 5 和一个名为 b 包含 6 7 8 9 10

How would I do to export dt into as many files as there are v2 naming the files after them ? Meaning one file named a containing 1 2 3 4 5 and one file named b containing 6 7 8 9 10.

我试过: dt [,fwrite(。(v1),v2),by = v2] 但没有用。

或者,如何导出dt编成一个文件,形成如下:

Alternatively how would I export the dt into one single file formated as following :

1 2 3 4 5
6 7 8 9 10


推荐答案

取自我的其他答案这里

dt[, fwrite(.SD, paste0(.BY,".csv")), by=v2, .SDcols="v1"]

如果您按多个列进行分组,只需将 .BY collapse =_)

If you group by multiple columns, just wrap .BY with paste(., collapse="_").

这篇关于如何导出每个键的数据表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆