【问题标题】:How do I read this csv syntax into R如何将此 csv 语法读入 R
【发布时间】:2020-02-09 13:33:42
【问题描述】:

我正在尝试将这个 csv 文件直接从网络导入到 R 中;但是,我将所有值都作为列名。

csv 文件如下:

月/年,“索引”
"2019 年 2 月","125"
"2019 年 3 月","127"
"2019 年 4 月","130"

到目前为止我已经尝试过:

read.csv("path", header = TRUE) #Not working
read.delim("path", header = TRUE, sep = ",")

如果你想要源 URL,你可以在这里找到它:

https://estadisticas.bcrp.gob.pe/estadisticas/series/api/PN01288PM/csv

编辑: 在检查了源文件和几个 cmets 后,我意识到它是以 HTML 而不是 CSV 格式发送信息的;因此,问题是不同的。我现在将关闭问题,因为我将操纵数据以自动读取它。

【问题讨论】:

  • read.csv 确实适用于问题中显示的数据,但链接中的数据与问题中的数据格式相同。请解决您的问题。
  • 解决问题。我直接从文档中发布了链接,并没有意识到它给了我另一种格式。感谢您的关注

标签: r csv import


【解决方案1】:

源文件不是纯 CSV 文件,而是用 HTML 格式化的。

Mes/A&ntilde;o,"&Iacute;ndice de precios Lima Metropolitana (&iacute;ndice 2009 = 100) - IPC Sin Alimentos"<br>"Feb.2018","123.094735792622"
<br>"Mar.2018","124.074279098189"<br>"Abr.2018","124.106210561863"
<br>"May.2018","124.110950696298"<br>"Jun.2018","124.457010420352"
<br>"Jul.2018","124.821481844788"<br>"Ago.2018","124.952886180169"

等等。您需要使用另一个包将其解析为 HTML,或者可能将其作为字符串读取并自行拆分 - 每行都以 &lt;br&gt; 标记结尾,然后在该字段中用逗号分隔。

【讨论】:

  • 这应该是一条评论。它没有提供问题的答案。
【解决方案2】:

这里使用data.tablefread()没有问题

library( data.table )
data.table::fread('Month/Year, "Index"
"Feb.2019","125"
"Mar.2019","127"
"April.2019","130" ')

#    Month/Year Index
# 1:   Feb.2019   125
# 2:   Mar.2019   127
# 3: April.2019   130

【讨论】:

  • 这个答案适用于问题本身显示的数据,所以我已经推翻了有人对此答案的反对意见。问题在于问题,而不是答案。这确实是应该被否决的问题,而不是答案。在问题下查看我的 cmets。
【解决方案3】:

可能是因为您提供的 url 在表格行之间包含&lt;br /&gt;,您可以打开 chrome 开发工具检查它。

尝试从this link 下载数据并加载到 R 中。

【讨论】:

    【解决方案4】:

    我还使用来自该网站的数据。我不确定您是如何找到该链接的,但我可以告诉您,直接抓取您的表格要容易得多。此外,您可以使用链接的命名法随时间更改日期。 (2020-1. 2020-2, ... 2020-12)。我在我的抓取代码中做了这样的事情:

    library(httr)
    httr::set_config(config(ssl_verifypeer = FALSE)) # bad ssl on the site
    r = GET("https://estadisticas.bcrp.gob.pe/estadisticas/series/mensuales/resultados/PN01288PM/html/2018-2/2020-1/")
    r = content(r, "text")
    r = read_html(r)
    r = html_table(fill = TRUE)
    r[[2]]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-26
      • 1970-01-01
      • 2013-01-04
      • 2023-04-08
      相关资源
      最近更新 更多