gpt4 book ai didi

将多行文本 block 读入 R 中的单个向量

转载 作者:行者123 更新时间:2023-12-04 10:39:18 30 4
gpt4 key购买 nike

我有一个包含大量多行文本 block 的文件。我想将该文件读入一个字符向量列表——每个 block 一个。我对 scan()、read.table() 等函数的文档的阅读似乎表明一行的结尾将结束向量。是否有一些选项或其他函数允许我指定一个分隔字符并且在遇到该字符之前不会转到新向量?

最佳答案

R read.csv 观察 RFC 4180关于 csv 文件的格式,因此如果您的文件以这种方式格式化,它们将被正确读取。基本上,如果用双引号括起来,带有嵌入式回车符的长文本字段将被读取为一个字段(包括换行符)。如果文本本身有引号怎么办?这就是问题所在,您要阅读的文本中的内嵌引号必须用两个连续的引号 ("") 代替。

这是一个例子:

> read.csv(stringsAsFactors = FALSE, text = '
+ id, text
+ 1, Hello World
+ 2, "Hello
+ World"
+ 3, "I say ""Hello
+ World"" often"
+ ')

id text
1 1 Hello World
2 2 Hello\nWorld
3 3 I say "Hello \nWorld" often

这是 RFC 的相关部分:

  1. Fields containing line breaks (CRLF), double quotes, and commasshould be enclosed in double-quotes. For example:

    "aaa","b CRLF

   bb","ccc" CRLF
   zzz,yyy,xxx
  1. If double-quotes are used to enclose fields, then a double-quoteappearing inside a field must be escaped by preceding it withanother double quote. For example:

    "aaa","b""bb","ccc"

关于将多行文本 block 读入 R 中的单个向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23861749/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com