我有幾百個xls
文件,其中有不正確的數據。在R中生成xls文件,並在列名頂部標題
我需要打開它們進行更正並保存它們。
進行更正是一件小事,所以我已經爲此編寫了代碼,訣竅是每個工作表都有一個從第3行開始的表,前兩行包含合法標題。
我習慣於使用readxl
軟件包,但它不提供保存電子表格的工具。所以今天我一直在試驗xslx
包,但我不太清楚如何使它工作。
在readr
我可以用下面的寫有免責聲明csv
文件:
write_csv(Disclaimer, filepath,col_names = FALSE)
write_csv(my.data.frame,filepath, col_names = TRUE,append =TRUE)
在xlsx
這不起作用:
write.xlsx(filepath,Disclaimer,"Sheet1",col.names = FALSE)
write.xlsx(filepath,my.data.frame,"Sheet1",col.names = TRUE,append=TRUE)
這yeilds java錯誤:
java.lang.IllegalArgumentException: The workbook already contains a sheet of this name
所以我的問題是你怎麼能寫一個xls
文件(或者xlsx
而不是csv
),以便它在相關表格上方具有標題。
爲了記錄我的工作簿有兩張紙,兩張紙都有免責聲明,但是它們包含不同的表格。
我真的希望我可以離開excel文件,但我需要保持原始格式。
此外,我打算使用其他軟件包,但我不熟悉其他軟件包(我們說的時候正在研究XLConnect
)。
爲什麼不試試'readr :: write_excel_csv'? – yeedle
嗨@yeedle感謝您的輸入,即使當我將文件擴展名覆蓋到'xls'(警告提示擴展名與文件格式不匹配)時,也會創建'csv'文件。這裏是我測試這個'write_excel_csv(data.frame(a = c(1,1,1,1),b = c(「A」,「B」,「C」,「D」)),「。 /test.xls「)',這是你的想法? – sgp667
是的。我的錯。我認爲這寫'xls'文件 – yeedle