当特定类型的格式表征单元格(例如,删除线)时,如何消除 R 中的 Excel 行?我特别想消除第 1 列中的单元格具有删除线格式(“删除线”)的行。将dplyr::join()
函数与 结合使用readxl::read_xlsx()
,我还可以仅使用第 1 列中包含删除线值的单元格向量。
看起来tidyxl
包裹是要走的路。将@Wimpel 的答案应用于这个 SO question,关于检测删除线样式,到目前为止我有这个:
xlfile <- 'PATH TO .XLSX FILE'
xlin <- xlsx_cells(xlfile)
formats <- tidyxl::xlsx_formats(xlfile)
cells <- tidyxl::xlsx_cells(xlfile, sheets = 1)
strike <- which( formats$local$font$strike )
strike_cells <- cells[ cells$local_format_id %in% strike, 2 ]
nostrike_cells <- cells[ !cells$local_format_id %in% strike, 2 ]
xl_new <- anti_join(xlin, strike_cells)
但是,我还不知道如何从那里(下面的屏幕截图)到没有排除单元格的数据框。
小tidyxl
插图描述了包有助于避免数据帧强制,但我在创建最终数据帧时遇到了麻烦。
也许有人有使用tidyxl
或其他 R 包的解决方案,例如openxlsx
?