• R语言
  • 如何把两个dataframe写到一个excel里

df1 <- data.frame(a = 1, b = 1)
 df2 <- data.frame(a = 2, b = 2)
 write.xlsx(df1, "F:/g.xlsx", append = T)

这样会出错, 要是不加append 参数,就会覆盖, 我不知道该怎么做了,请教大神

df1 <- data.frame(a = 1, b = 1)
 df2 <- data.frame(a = 2, b = 2)
 write.xlsx(df1, file="F:/g.xlsx", append = T)

个人建议还是存成CSV或者TSV,这样程序读取没问题,Excel也支持。这样做就不必捆死在邪恶的office系统之下了。

请问您,我写成csv文件还是这样啊,怎么才能让两个都保留呢,我这样写,读了第二个就把第一个替换了,怎样才能都保留呢,谢谢您

> df1 <- data.frame(a = 1, b = 1)
> df2 <- data.frame(a = 2, b = 2)
> write.csv(df1, file="F:/g.csv", append = T)
Warning message:
In write.csv(df1, file = "F:/g.csv", append = T) :
  attempt to set 'append' ignored
> write.csv(df2, file="F:/g.csv", append = T)
Warning message:
In write.csv(df2, file = "F:/g.csv", append = T) :
  attempt to set 'append' ignored

    openxlsx用这个包啊,
    writeData(wbName, shtName, data, startRow = startRow,startCol = startCol)
    改变
    startRow
    startCol
    两个参数,
    随心所欲的放你的df

      3 年 后

      也可以通过write.table()完成,需要多加点设置就是了,具体说明如下:

      df1 <- data.frame(a = 1, b = 1)
      df2 <- data.frame(a = 2, b = 2)
      # 写下df1:
      # 保存为.csv文件
      # 要去掉数据行号“row.names”,否则数据框列名这一行没有行号,会导致列对应错误
      # 并且要设置“sep”为逗号,这样用Excel打开这个.csv文件的时候才会分列,否则各列数据可能会挤在同一单元格中
      # 此外,会提示你“appending column names to file”,并没有出错,不用担心。
      write.table(df1, "C:/Users/kangj/Documents/R/KUP/g.csv", row.names = F, sep = ",", append = T)
      # 然后写入df2:
      # 和上面的操作相同,所以列名会再一次被写入,如果不希望写入这个列名的话,就设置“col.names = F”
      write.table(df2, "C:/Users/kangj/Documents/R/KUP/g.csv", row.names = F, sep = ",", append = T)