阅读包含非传统电子表格的压缩文件夹

时间:2016-09-08 07:55:28

标签: r

我试图阅读Purchases from April 2016 onward中包含的名为 etfreit.zip 的压缩文件夹。

在压缩文件夹中是一个名为 2016.xls 的文件,由于它包含空行和日文文本,因此难以阅读。

我尝试过从R读取xls的各种方法,但是我一直在收到错误。这是我试过的代码:

download.file("http://www3.boj.or.jp/market/jp/etfreit.zip", destfile="etfreit.zip")
unzip("etfreit.zip")
data <- read.csv(text=readLines("2016.xls")[-(1:10)])

我试图跳过前10行,因为我只想读取xls文件中的数据。代码只在它运行的范围内工作,但数据看起来真的很奇怪。

非常感谢在R中正确阅读电子表格以进行分析的任何帮助。

2 个答案:

答案 0 :(得分:0)

我认为这里发生了不止一种奇怪的事情,但我在({}} gdata包中取得了一些成功:

data = gdata::read.xls("2016.xls")

顺便说一句,将xls文件视为csv很少有效。实际上它根本不应该工作:)为你的数据类型找出一个合适的导入函数然后使用它,不要假设read.csv除了csv之外还要关注其他任何事情(正常)。

根据您的评论:我不确定您的意思&#34;未正确对齐&#34;,但这里有一些代码可以清理数据,并为您提供数字变量而不是因素(注意我使用tidyr表示):

data2 = data[-c(1:7), -c(1, 6)]
names(data2) = c("date", "var1", "var2", "var3")
data2[, c(2:4)] = sapply(data2[, c(2:4)], tidyr::extract_numeric)

# Optionally convert the column with factor dates to Posixct
data2$date = as.POSIXct(data2$date)

另外,请注意我只删除了7个上行 - 这似乎是包含日语标题的数据部分。

答案 1 :(得分:0)

&#34;奇数&#34;使用jailbreakr包读取异常的Excel表格。它仍在开发中,但看起来很不错:

https://github.com/rsheets/jailbreakr