我正在尝试从网上读取csv。我跑的时候
library(data.table)
rawfile<-fread("http://www.pjm.com/pub/account/genoutages/20140116_genout.csv",stringsAsFactors=FALSE,skip=2)
rawfile
我得到了
Empty data.table (0 rows) of 2 cols: File Posted on 16-Jan-2014 04:00,V2
但如果我先将文件下载到我的电脑然后再进行
rawfile<-fread("c:\\temp\\20140116_genout.csv",stringsAsFactors=FALSE,skip=2)
rawfile
然后我得到了我期望的输出。
我知道这很容易解决,我只想知道这是一个错误,还是有一些细微差别在我头上。
答案 0 :(得分:3)
更新 2014年9月:现已修复于v1.9.3
网址现在适用于Windows。 R
download.file()
在Windows上将\r\n
转换为\r\r\n
。现在通过以二进制模式下载来避免。感谢Steve Miller和Dean MacGregor的报道,#492。
感谢报道。刚刚在Linux上尝试时,它对我来说很好。见下面的输出。
?fread
确认支持URL:“为方便起见,文件名输入通过path.expand传递,可能是以http://或file://开头的URL。”
鉴于评论,似乎只是一个Windows问题。在这里提出了一个错误:
#5288 fread reads URLs on Linux but not Windows?
以下是Linux上的输出:
的fread( “http://www.pjm.com/pub/account/genoutages/20140116_genout.csv”,stringsAsFactors = FALSE,则跳过= 2) 尝试网址“http://www.pjm.com/pub/account/genoutages/20140116_genout.csv” 内容类型'application / octet-stream'长度为2767字节 打开网址 ================================================== 下载了2767字节
Date Forecasted Generation Outage Western Region Other Regions
1: 1/17/2014 1543 374 1169
2: 1/18/2014 1520 374 1146
3: 1/19/2014 1520 374 1146
4: 1/20/2014 1520 374 1146
5: 1/21/2014 1520 374 1146
6: 1/22/2014 1520 374 1146
7: 1/23/2014 1506 374 1132
.. snip