当前位置: 首页 > 知识库问答 >
问题:

如何将多个文本文件合并到一个数据框中?

经慈
2023-03-14

假设我在同一目录中有9个.txt文件。price1.txt价格2.txt价格3.txt是来自不同位置的价格表,行和列名称相应地是经度和海拔高度。year4,5,6.txt和dis7,8,9.txt是与文本1中相同位置的年份和折扣表。

我想创建一个新的数据框,其中每列都是价格、年份、折扣的列表,来自文本1-9,具有相应的经度和姿态。

我能够使用

mydata = list.files(pattern = "\\.txt$") 

要读取文件的名称

我能够使用

a = lapply(mydata, read.table, header = TRUE) 

将每个文件放在一起。

但是,如何从不同的变量文本文件中提取表并将其放入列中?这里的困难之处在于所有文件名都不同,因此我无法找到一种简单的方法来循环文件列表。

共有1个答案

松旭
2023-03-14

考虑将价格、年份、光盘文本文件读取到他们自己的数据框中,然后合并:

pricelist <- list.files(pattern = "price-.*\\.txt")
pricedf <- lapply(pricelist, read.table, header=TRUE)

yearlist <- list.files(pattern = "year-.*\\.txt")
yeardf <- lapply(yearlist, read.table, header=TRUE)

disclist <- list.files(pattern = "disc-.*\\.txt")
discdf <- lapply(disclist, read.table, header=TRUE)

finaldf <- merge(pricedf, yeardf, by=c("longitude", "altitude"))
finaldf <- merge(finaldf, discdf, by=c("longitude", "altitude"))

对于for循环中的通用版本:

items <- c("price", "year", "disc")

for (item in items) {
   assign(paste0(item, "list"), list.files(pattern=paste0(item, "-.*\\.txt")))
   assign(paste0(item, "df"), lapply(get(paste0(item, "list")), read.table, header=TRUE))
}

finaldf <- merge(pricedf, yeardf, by=c("longitude", "altitude"))
finaldf <- merge(finaldf, discdf, by=c("longitude", "altitude"))
 类似资料:
  • 问题内容: 我在Web应用程序中使用jquery,我需要将更多jquery脚本文件加载到单个页面中。 Google建议我将所有jquery脚本文件合并到一个文件中。 我怎样才能做到这一点? 问题答案: 在Linux上,您可以使用简单的Shell脚本将多个javascript文件合并为一个。它利用了Closure Compiler在线服务,因此生成的脚本也得到了有效压缩。

  • 问题内容: 假设我们有许多文本文件,如下所示: 文件1: 文件2: 文件3: 文件4: 我们如何制作一个文本文件,如下所示: 结果: 相关代码可能是: 在这之后?有什么帮助吗? 问题答案: 您可以将每个文件的内容直接读取到输出文件句柄的write方法中,如下所示:

  • 问题内容: 我将多个csv文件保存在一个具有相同列布局的文件夹中,并希望将其作为pandas中的数据框加载到python中。 我正在使用以下代码: 是否有其他软件包更好的解决方案? 这需要很多时间。 谢谢 问题答案: 我建议使用列表理解:

  • 我有多个csv文件(每个文件包含N行(例如,1000行)和43列)。 我想把文件夹中的几个csv文件读入pandas,并将它们合并到一个数据帧中。 不过我还没能弄明白。 问题是,数据帧的最终输出(即,)将所有列(即43列)合并到代码的一列(见附图)屏幕截图中 选定行和列的示例(文件一) 选择的行和列(文件二)Client_IDClient_NamePointer_of_Bins日期权重C00000

  • 问题内容: 如何使用Java合并两个WAV文件? 我试过了,但是没有正常工作,他们还有其他方法吗? 问题答案: 如果直接使用wav文件的字节,则可以在任何编程语言中使用相同的策略。对于此示例,我将假设两个源文件具有相同的比特率/数字通道,并且具有相同的长度/大小。(否则,您可能可以在开始合并之前对其进行编辑)。 首先看一下WAV规范,我在斯坦福课程网站上找到了一个很好的人: 常见的标头长度为44或

  • 本文向大家介绍Python将多个excel文件合并为一个文件,包括了Python将多个excel文件合并为一个文件的使用技巧和注意事项,需要的朋友参考一下 利用Python,将多个excel文件合并为一个文件 思路 利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。 完整代码 源文件excel1: 源文件e