使用write.xlsx通过for循环在一个文件中的不同工作表上写入不同数据

Using write.xlsx to write different data on different sheets in one file by for loop in r

我正在尝试将每个国家/地区的数据写入每个以该国家/地区命名的 sheet 文件中的一个 xlsx 文件中。我在 r 中使用 xlsx 包。 我试过了

  for (i in 1:noctry) {
     write.xlsx(tab110rev[i,,], file="table.xlsx", sheetName = countrylist[i],
              col.names=FALSE, row.names=FALSE)  
}

noctry代表国家数及其53
countrylist 是国家/地区代码为数字的国家/地区列表。
tab110rev 是一个数组,其结构为 array(value, c(country, industry, year))

问题是它只生成一个 xlsx 文件,其中只有一个 sheet 包含最后一个国家/地区。应该有 53 sheets,而不是只有一个。 我认为 for-loop 是覆盖而不是累积结果,但我不知道如何解决这个问题。

我想 append = T 应该可以解决您的问题。 试试这个:

for (i in 1:noctry) {
     write.xlsx(tab110rev[i,,], file="table.xlsx", sheetName = countrylist[i],
                col.names=FALSE, row.names=FALSE, append = T)  
}