data.table fread 可以接受连接吗?
Posted
技术标签:
【中文标题】data.table fread 可以接受连接吗?【英文标题】:Can data.table's fread accept connections? 【发布时间】:2015-10-02 07:03:28 【问题描述】:我有一个可以使用system()
命令调用的可执行文件。这个可执行文件将打印一些数据,我可以使用管道将这些数据传输到 R 中:
read.csv(pipe(command))
fread
具有惊人的性能,我想利用引入数据的优势,但我不能使用fread(pipe(command))
。另一种方法是使用可执行文件并将其输出转储到文件中,然后使用fread
将其读入。这样做需要将中间数据写入磁盘,并且还会通过引入该中间步骤来增加开销。有没有办法在我的可执行文件中包装或使用fread
?
【问题讨论】:
正如?fread
文档所述,您可以直接读取数据作为shell 命令的输出:input: a shell command that preprocesses the file (e.g. fread("grep blah filename"))
。或者,在你的情况下,是这样的:fread(command)
。它适用于您的情况吗?
绝对正确,这是一个糟糕的问题
【参考方案1】:
fread 目前无法建立连接,该功能已在 2015 年请求:https://github.com/Rdatatable/data.table/issues/561
尽管 Maksim 的评论是有效的,但它不能在 Windows 机器上运行。这在某些情况下可能会很麻烦。
【讨论】:
以上是关于data.table fread 可以接受连接吗?的主要内容,如果未能解决你的问题,请参考以下文章
来自 data.table 包的 fread 无法读取小数字
R data.table v1.9.6 中的错误 - 函数“fread”