美文网首页
37.关于readr如何写入文件

37.关于readr如何写入文件

作者: 心惊梦醒 | 来源:发表于2021-08-20 23:41 被阅读0次

    【上一篇:36.关于readr如何解析文件】
    【下一篇:38.读取其他类型的数据】

        其实readr写入磁盘的函数有一个系列,write_系列,包含的函数包括:write_delim()、write_csv()、write_csv2()、write_excel_csv()、write_excel_csv2()、write_tsv()。
        write_
    ()系列函数是write.()系列函数的改进,前者速度是后者的两倍,且前者不会将行名输出到文件中(对tibble来说也很好理解,tibble的行名是固定的,且不能修改,所以输出的时候当然也不需要额外输出了。)


        write_*()系列函数的参数大致是相同的,具体每个函数有哪些需要具体看。例如:

    write_delim(
      x,
      file,
      delim = " ",
      na = "NA",
      append = FALSE,
      col_names = !append,
      quote_escape = "double",
      eol = "\n",
      path = deprecated()
    )
    

        重要参数有:
        x:要回写到磁盘的数据框或tibble。
        file:输出文件的路径。如果文件不存在,会创建新文件。
        na:用来表示缺失值的字符串,默认是NA。缺失值从不会被quoted,与NA相同的字符串会加引号来标注。
        append:如果为FALSE,将覆盖file;如果是TRUE,则会直接追加到已存在的文件中。
        delim:输出文件中的列分隔符,write_delim()默认是空格,write_excel_scv()默认是逗号,write_excle_csv2()默认是分号。必须是单个字符。
        其他参数:
        col_names:FALSE表示输出文件第一行包含列名字,TRUE表示输出文件中不包含列名字。如果不指定,默认是!append。
        quote_escape:用来quote 值得转义字符的类型,默认是双引号(double,也是Excle期望的格式)、还可以是反斜杠(backslash)或none(也可以设置为FALSE,与none的意义是一样的)。
        eol:要是用的行尾字符,默认是\n。"\n"是Unix风格的新行,"\r\n"是Windows风格的新行。
        path:废弃了,直接用file参数指定路径+文件名就可以。


        write_*()函数回写到磁盘的时候,默认是UTF-8编码,以ISO8601格式保存日期和时间。写出到Excle文件(write_excle_csv()、write_excle_csv2())中时,会在文件开始写入一个特殊字符(byte order mark),告诉Excle csv是UTF-8编码的。
        因子会强制成字符输出;doubles使用grisu3算法格式化为十进制字符串;在local或非UTC时区的POSIXct对象将在写入之前转换为UTC时间;只有包含逗号、引号或换行符的值才用quote括起来(可以是双引号、反斜杠);输出文件也支持.gz、.bz2、.xz三种格式的压缩。

    【上一篇:36.关于readr如何解析文件】
    【下一篇:38.读取其他类型的数据】

    相关文章

      网友评论

          本文标题:37.关于readr如何写入文件

          本文链接:https://www.haomeiwen.com/subject/alkzbltx.html