我正在尝试通过在名为read.csv2.sql
的文件(文件包含分隔符household_power_consumption.txt
)上使用;
来读取文件。
但是它会无休止地运行,最后我需要手动停止它。
可以下载文件here:
另一方面,当我在同一文件上使用read.csv.sql
时使用sep=";"
时,运行几秒钟后它可以很好地工作,并且成功返回了数据帧。
示例代码如下:
# Download and unzip file in directory
download.file("https://d396qusza40orc.cloudfront.net/exdata%2Fdata%2Fhousehold_power_consumption.zip","Dataset.zip",mode="wb")
zip_dir <- paste0(getwd(),"/Dataset.zip")
unzip(zip_dir)
# Target file
targetFile <- "household_power_consumption.txt"
# This is where it defers :
# Read with read.csv2.sql
df <- read.csv2.sql(targetFile , sql="select * from file where Date='1/2/2007' or Date='2/2/2007'",header=TRUE)
# Endless load
# Read with read.csv.sql
df <- read.csv.sql(targetFile , sql="select * from file where Date='1/2/2007' or Date='2/2/2007'",header=TRUE, sep=";")
# Successful load
我不明白是什么导致read.csv2.sql
不断运行。
是因为其中的过滤器将,
转换为.
吗?
但是,
似乎没有出现在数据集中的任何地方。
更新时间:2019年12月5日
我尝试使用read.csv2
,它也可以正常工作...
test <- read.csv2(filename,header = TRUE)
# Successfully loaded
现在我更困惑了...
是功能错误还是我缺少什么?