【问题标题】:R Import text file as list of dataframesR将文本文件导入为数据框列表
【发布时间】:2023-04-05 22:19:01
【问题描述】:

我有一个长txt文件,组织如下:

RANGE
P1 H1
P3 H4
P10 H72
P14 H76
;
RANGE
P1 H1
P10 H8
P11 H8
;
...

我想在 R 中阅读它,创建一个数据框列表,其中 RANGE 和 ;划定每一项的内容。因此,每个数据框应该有两列(P 和 H)和不同的行数。在此先感谢您的帮助。

【问题讨论】:

  • 绝对在R 还是您对其他工具持开放态度?
  • 只有 R。我需要该列表作为进一步分析的输入,并且发布的解决方案可以正常工作。无论如何感谢您的提问。
  • 我的意思是有一些针对文本操作的工具(比如awk,它可以把这个文件变成最容易加载到 R 中的东西,避免两次解析行,一次用于读取,一次用于创建列表)。但如果答案对你有用,那没关系。

标签: r text import


【解决方案1】:

我们可以在使用readLinessplit根据'RANGE'的位置读取元素后使用read.table 来做到这一点

lst <- lapply(split(lines, cumsum(lines=="RANGE")), 
    function(x) read.table(text=x[-c(1, length(x))], header=FALSE, stringsAsFactors=FALSE))
lst
#$`1`
#   V1  V2
#1  P1  H1
#2  P3  H4
#3 P10 H72
#4 P14 H76

#$`2`
#   V1 V2
#1  P1 H1
#2 P10 H8
#3 P11 H8

数据

lines <- readLines("yourfile.txt")

【讨论】:

    猜你喜欢
    • 2023-01-15
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多