←
PDF 169 / 520 Writing to a File
→
English · PDF 169
Original PDF page 169
中文 · PDF 169
  • 如果你在解析时遇到重大问题,有时更简单的做法是用 read_lines() 将内容读入为一个按行划分的字符向量,甚至用 read_file() 读入为长度为 1 的字符向量。然后你可以运用后面将学到的字符串解析技能来解析更特殊的格式。

写入文件

readr 还提供了两个用于将数据写回磁盘的实用函数:write_csv() 和 write_tsv()。这两个函数通过以下方式提高输出文件被正确读回的可能性:

  • 始终以 UTF-8 编码字符串。
  • 以 ISO8601 格式保存日期和日期时间,以便在其他地方轻松解析。

如果你想将 CSV 文件导出给 Excel 使用,请使用 write_excel_csv(),它会在文件开头写入一个特殊字符(“字节顺序标记”),告诉 Excel 你使用的是 UTF-8 编码。

最重要的参数是 x(要保存的数据框)和 path(保存的位置)。你还可以通过 na 指定缺失值的写入方式,以及是否要追加到已有文件:

write_csv(challenge, "challenge.csv")

注意,保存为 CSV 时类型信息会丢失:

challenge #> # A tibble: 2,000 × 2 #> x y #> #> 1 404 #> 2 4172 #> 3 3004 #> 4 787 #> 5 37 #> 6 2332 #> # ... with 1,994 more rows write_csv(challenge, "challenge-2.csv") read_csv("challenge-2.csv") #> Parsed with column specification: #> cols( #> x = col_double(), #> y = col_character() #> )