【问题标题】:Import non-tabular txt or csv to R将非表格 txt 或 csv 导入 R
【发布时间】:2019-05-12 07:53:58
【问题描述】:

我想将一个txt文件导入R。这个txt文件由各种用空格分隔的单词组成,每一行都有不同的任意数量的单词,所以当我导入它时,我得到:

file<-read.table("paraules.txt",fileEncoding="latin1",header=F)

Error in read.table("paraules.txt", fileEncoding = "latin1", header = F) : 
  more columns than column names

我该怎么办?是否可以导入具有不同数量“列”的 txt 文件,或者我应该编辑我的 txt 文件以使其可导出?

编辑:我的 txt 文件的第一行。如您所见,每行的单词数不同,并且每列之间没有关系。还有一些特殊字符:

fitxer,edició,format,visualització,ajuda,sense,títol,llibreta,aigua,llet,casa
finestra,taula,tecla,teclat,dit,ungla,nas,boca,orella,cap,altre,jugar,joc,jugador
canell,rellotge,teclejar,ordinador,mòbil,procedir,model,transformació,gràfic

谢谢

【问题讨论】:

  • 试试readLines 可能吗?

标签: r import


【解决方案1】:

scan()readLines() 应该可以。

h <- "fitxer,edició,format,visualització,ajuda,sense,títol,llibreta,aigua,llet,casa
finestra,taula,tecla,teclat,dit,ungla,nas,boca,orella,cap,altre,jugar,joc,jugador
canell,rellotge,teclejar,ordinador,mòbil,procedir,model,transformació,gràfic"
writeLines(h, "h.txt")

如您所见,输出略有不同,scan() 在处理数据方面最为灵活。确切地说,您如何做取决于您打算以后使用数据的目的。

scan("h.txt", what="", sep="\n")
# Read 3 items
# [1] "fitxer,edició,format,visualització,ajuda,sense,títol,llibreta,aigua,llet,casa"    
# [2] "finestra,taula,tecla,teclat,dit,ungla,nas,boca,orella,cap,altre,jugar,joc,jugador"
# ...
# 
scan("h.txt", what="", sep=",")
# Read 34 items
#  [1] "fitxer"  "edició"    "format" "visualització" "ajuda"  "sense"        
#  [7] "títol"   "llibreta"  "aigua"  "llet"          "casa"   "finestra"     
# ...

readLines("h.txt")
# [1] "fitxer,edició,format,visualització,ajuda,sense,títol,llibreta,aigua,llet,casa"    
# [2] "finestra,taula,tecla,teclat,dit,ungla,nas,boca,orella,cap,altre,jugar,joc,jugador"
# ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-14
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 1970-01-01
    • 2013-12-11
    相关资源
    最近更新 更多