【问题标题】:Import of an excel file导入excel文件
【发布时间】:2019-08-18 17:18:14
【问题描述】:

我尝试将文件从 NORDPOOL.COM 下载到 R 中,但不知何故 xls 格式变成了一种奇怪的格式

我尝试了不同的文件格式,但 read.table 是唯一提供有意义表格的格式

 df <- read.table("https://www.nordpoolgroup.com/globalassets/marketdata-excel-files/regulating-prices_2019_hourly_dkk.xls")

我正在寻找一个看起来像 excel 文件的数据框....

【问题讨论】:

  • 注意数据的文件格式/扩展名。它们并不完全相同。
  • 我认为您不能直接导入该文件。它在标题行上方有需要格式化/删除的材料?使用read.xlsxxlsx 导入可能更容易。
  • 我可以看到那里有问题,但我是空白的 tbh...我看到一个 XLS 文件,我可以在 excel 中打开它。我尝试将其作为 excel 文件导入,但事情变糟了……我得到的东西看起来像 html……但我尝试使用 HTML 格式导入,但没有任何结果……你能告诉我如何导入吗电子表格?
  • 更好的是,我会将文件转换为 CSV 格式,然后只使用read.table(可以避免完全以这种方式处理xlsx)。所有这些是否可行取决于您必须处理多少文件。我认为很多手动工作可以通过awk 脚​​本或类似的东西自动化。

标签: r excel import


【解决方案1】:

rvest 可能会有所帮助,

library(rvest)

page <- read_html("https://www.nordpoolgroup.com/globalassets/marketdata-excel-files/regulating-prices_2019_hourly_dkk.xls")

out <- page %>%  html_node("table")   %>%    html_table()
out <- out[-c(1,2,3,4),c(1,2,23,24,25,26)]
colnames(out) <- c("Date","Hour","DK1_Up","DK1_Down","DK2_Up","DK2_Down")

head(out)

         Date    Hour DK1_Up DK1_Down DK2_Up DK2_Down
5  01-01-2019 00 - 01 211,45   211,45 211,45   211,45
6  01-01-2019 01 - 02  75,19    75,19  75,19    75,19
7  01-01-2019 02 - 03 -30,46   -30,46 -30,46   -30,46
8  01-01-2019 03 - 04 -73,99   -73,99 -73,99   -73,99
9  01-01-2019 04 - 05 -55,33   -55,33 -55,33   -55,33
10 01-01-2019 05 - 06 -93,71   -93,71 -93,71   -93,71

但是,它是一个不规则数据,要整理它,你必须看看.xls文件的内部。那是我实际上所做的。所以我认为,在下载文件并进行必要的安排后,与rvest相比,阅读R中的文件仍然是一个不错的选择。

【讨论】:

    猜你喜欢
    • 2023-01-23
    • 1970-01-01
    • 1970-01-01
    • 2013-07-27
    • 2019-12-11
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多