在R中读取csv文件时出现问题

时间:2019-11-21 16:58:33

标签: r excel csv dataframe

我正在尝试读取国际银行(BIS)提供的csv文件。 所讨论的数据是每半年的数据矩阵(因此,我们每年有2个数据矩阵)。 该csv文件包含每年的所有这些矩阵。

当我尝试用R读取它时,我获得了一个巨型列向量,其中包含行中的所有数据。在我看来,这个文件真是一团糟。

这是右上角的文件BIS,您将找到下载选项

使用Rstudio的任何人都可以尝试这样做吗? 我不知道如何正确读取此文件。 谢谢

(1)这是sessionInfo()输出的图像 enter image description here

(2)这是dput(head(x))的输出

NETCOREAPP3_0

2 个答案:

答案 0 :(得分:4)

就像@camille所说的那样,您必须在读取数据之前跳过一些行。

library(readr)
df <- read_csv("table-d6.csv", skip = 6)

对我来说,它为我提供了一个527行58列的文件(当我使用Excel打开它时看起来很相似)

PS:有关使用read.table()打开的信息,请参见@Cettt响应。它的工作原理基本相同。我观察到的唯一区别是readr中的函数似乎正确理解了日期:

> tail(colnames(df))
[1] "31/12/2016" "30/06/2017" "31/12/2017" "30/06/2018" "31/12/2018"
[6] "30/06/2019"

答案 1 :(得分:2)

您可以简单地将read.table用于以下设置。请注意,文件名为table-d6.csv,该文件应位于您的工作目录中。

x <- read.table("table-d6.csv", skip = 6, nrow = -1, sep = ",", dec = ".",
                 stringsAsFactors = FALSE, header = TRUE)

某些列引用日期。由于列名不允许以数字开头,因此R在这些列名前放置X。因此,您有名为X30.06.2018的列。