首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >读取包含非传统电子表格的压缩文件夹

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

Stack Overflow用户
提问于 2016-09-08 07:55:28
回答 2查看 36关注 0票数 1

我正在尝试读取一个名为etfreit.zip的压缩文件夹,该文件夹包含在2016年4月以后的采购中。

压缩文件夹中有一个名为2016.xls的文件,因为它包含空行和日语文本,因此很难读取。

我尝试过从R中读取xls的各种方法,但是我不断地出错。这是我尝试过的代码:

代码语言:javascript
复制
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中正确阅读电子表格以执行分析的任何帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-08 08:15:03

我认为这里发生了不止一次的bizzare事件,但我在gdata包(稍老一些)上取得了一些成功:

代码语言:javascript
复制
data = gdata::read.xls("2016.xls")

顺便说一句,将xls文件作为csv处理很少有效。实际上,它根本不应该工作:)为您的数据类型找到一个适当的导入函数,然后使用它,不要假设read.csv将处理csv以外的其他任何事情(正确)。

根据您的评论:我不知道您所说的“不对齐”是什么意思,但是这里有一些代码可以稍微清除数据,并给出数值变量而不是因素(注意,我正在使用tidyr ):

代码语言:javascript
复制
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行--这似乎是包含日文标题的数据的一部分。

票数 0
EN

Stack Overflow用户

发布于 2016-09-08 08:41:57

"Odd“不寻常的excel表cab与jailbreakr包一起读取。它还在开发中,但看起来很不错:

https://github.com/rsheets/jailbreakr

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39385481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档