←
PDF 155 / 520 Parsing a Vector
→
English · PDF 155
Original PDF page 155
中文 · PDF 155
    1. 除了 file、skip 和 comment 之外,read_csv() 和 read_tsv() 还有哪些共同的参数?
    1. read_fwf() 最重要的参数有哪些?
    1. 有时 CSV 文件中的字符串包含逗号。为了防止它们引起问题,需要用引号字符(如 " 或 ')将它们包围。按照惯例,read_csv() 假定引号字符是 ",如果你想更改它,则需要改用 read_delim()。要将以下文本读入数据框,你需要指定哪些参数?

"x,y\n1,'a,b'"

    1. 找出以下每个内联 CSV 文件中的错误。运行代码时会发生什么?

read_csv("a,b\n1,2,3\n4,5,6") read_csv("a,b,c\n1,2\n1,2,3,4") read_csv("a,b\n"1") read_csv("a,b\n1,2\na,b") read_csv("a;b\n1;3")

解析向量

在深入了解 readr 如何从磁盘读取文件之前,我们需要稍微绕个弯,先讨论一下 parse_*() 函数。这些函数接受一个字符向量,并返回一个更特化的向量,例如逻辑型、整数型或日期型:

str(parse_logical(c("TRUE", "FALSE", "NA"))) #> logi [1:3] TRUE FALSE NA str(parse_integer(c("1", "2", "3"))) #> int [1:3] 1 2 3 str(parse_date(c("2010-01-01", "1979-10-14"))) #> Date[1:2], format: "2010-01-01" "1979-10-14"

这些函数本身就很有用,同时也是 readr 的重要组成部分。在本节中学习了各个解析器的工作原理之后,我们将在下一节回过头来看它们如何协同工作以解析一个完整的文件。

与 tidyverse 中的所有函数一样,parse_*() 函数是统一的;第一个参数是要解析的字符向量,na 参数指定哪些字符串应被视为缺失值: