【问题标题】:end of line issues reading txt file in R在 R 中读取 txt 文件的行尾问题
【发布时间】:2021-05-18 21:30:28
【问题描述】:

我在读取 R 中的 txt 文件时遇到了一些问题,我认为该文件是由行尾问题创建的。我有一个包含两列的数据框:第一列包含 __label__1234 形式的标签,第二列是一串文本(出于隐私原因,我无法分享实际文本,但它会是这样的,我在麦当劳工作)。我首先使用 write.table 将这些信息存储在文本文件中

write.table(test,"test.txt",sep="\t",quote=FALSE,row.names=FALSE,col.names=FALSE

然后我稍后尝试将该文本文件读回 R 中,但结果不理想。

data<-read.table("test.txt",header=FALSE,sep="\t")

数据看起来类似于

           V1                V2
1 __label__001 I WORK AT WENDYS
2 __label__002 I WORK AT BK
3 __label__001 I WORK AT WENDYS\n__label__002\tI WORK AT BK\n__label__003\tI WORK AT FIVE GUYS

当我想要的时候

           V1                V2
1 __label__001 I WORK AT WENDYS
2 __label__002 I WORK AT BK
3 __label__001 I WORK AT WENDYS
4 __label__002 I WORK AT BK
5 __label__003 I WORK AT FIVE GUYS

知道我可以在读取或写入中更改什么来解决此问题吗?

【问题讨论】:

  • 我不明白为什么,所以也许有更多知识的人可以把它作为答案,但是在我的 read.table 命令中添加 quote="" 给了我想要的结果

标签: r txt


【解决方案1】:

必须有数据原因。我模拟了你的示例数据集

V1 = paste0("__label__00",c(1,2,1,2,3))
V2 = paste("I WORK AT",c("WENDYS","BK","WENDYS","BK","FIVE GUYS"))
test = data.frame(V1,V2)

并执行你的写/读命令

write.table(test,"test.txt",sep="\t",quote=FALSE,row.names=FALSE,col.names=FALSE)
data = read.table("test.txt",header=FALSE,sep="\t")

这给了我你想要的输出。我无法重现您不想要的输出。因此,我建议您寻找与我的数据相比的数据差异。

【讨论】:

  • 感谢您试一试。肯定跟数据有关。实际数据要混乱得多,不同的字符、间距等,但看起来都很好,因为我在数据中看不到任何会导致它的东西。同样,由于数据的敏感性,我无法分享实际数据。
猜你喜欢
  • 2017-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
  • 1970-01-01
  • 2014-10-30
  • 1970-01-01
相关资源
最近更新 更多