如何合并 csv 文件中的数据?

Posted

技术标签:

【中文标题】如何合并 csv 文件中的数据?【英文标题】:How can i mege data from csv files? 【发布时间】:2020-04-26 18:10:58 【问题描述】:

我想对 2017 年 1 月 1 日至 2020 年 4 月 14 日期间的 2 只股票进行分析。不幸的是,我在导入数据方面遇到了困难。 我试图从 excel 导入数据,限制 2017 年 1 月 1 日至 2020 年 4 月 14 日期间的数据并合并这些数据。

x <- read.csv("data/pkn_d.csv")
y <- read.csv("data/lts_d.csv")

head(x)
        Date   Open   High    Low  Close   Volume
1 1999-11-26 16.307 16.452 15.717 16.229 14845780
2 1999-11-29 16.154 16.229 15.863 15.940  5148506
3 1999-11-30 16.086 16.375 16.086 16.229  3077465
4 1999-12-01 16.375 16.742 16.229 16.742  2881475
5 1999-12-02 16.895 17.407 16.818 17.040  3093313
6 1999-12-03 17.040 17.330 16.895 17.260  2207547

head(y)
    Date   Open   High    Low  Close  Volume
1 2005-06-09 26.676 26.676 25.013 25.013 1795647
2 2005-06-10 25.097 25.433 24.594 24.594  679054
3 2005-06-13 25.013 25.097 24.594 24.762  213950
4 2005-06-14 24.929 24.929 24.762 24.762  181415
5 2005-06-15 24.762 24.845 24.594 24.762  160359
6 2005-06-16 24.762 24.762 24.350 24.350  171475

我只对 2017-01-01 到 2020-04-14 和第 5 列(收盘价)的数据感兴趣

x <- x[4285:5100, 5]
y <- y[2899:3714, 5]

接下来,我要合并这些数据:

merge(x,y)

但是,我没有获得任何有意义的输出。我该如何解决这个问题?

【问题讨论】:

(1) 请将您的数据缩减到最少但足以说明和包含它的内容。请阅读r 页面顶部的发布说明。 (2) 问题也指“问题”,但从未说明“问题”是什么。 【参考方案1】:

由于该问题不包含可重现的示例,因此这里有一个解决方案,它合并了通过 quantmod 包从互联网检索到的一组股票价格。

library("quantmod")
#
symbolList <- c("PKN","LTS")
from.dat <- as.Date("2017-01-01",format="%Y-%m-%d")
to.dat <- as.Date("2020-04-14",format="%Y-%m-%d")

prices <- lapply(symbolList,function(x)
     getSymbols(x,auto.assign = FALSE,from = from.dat,to = to.dat)[,4]
)
priceData <- do.call(merge,prices)
head(priceData)

...和输出:

> head(priceData)
           PKN.Close LTS.Close
2017-01-03    49.370      2.54
2017-01-04    50.370      2.57
2017-01-05    89.340      2.43
2017-01-06    89.340      2.38
2017-01-09    49.855      2.36
2017-01-10    88.300      2.44
>

【讨论】:

感谢您的解决方案 :) 太好了!但是,我更新了我的问题。你能再看看这个吗?

以上是关于如何合并 csv 文件中的数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Pandas 将多个 csv 文件中的单个数据列合并为一个?

如何把一个或几个CSV文件中的数据读取到Excel表格中

如何把多个CSV文件的数据变成一个EXCEL表格

如何使用python合并文件夹中的多个.csv

从R中的csv文件中删除多余的行,然后合并csv文件

如何将多个csv按行合并?(不是首尾相接的按列合并)