Как я могу удалить строки Excel в R, когда определенный вид форматирования характеризует ячейку (например, зачеркивание)? Я, в частности, хочу удалить строки, в которых ячейка в столбце 1 имеет зачеркнутое форматирование (зачеркнуто). Используя функции dplyr::join()
в сочетании с readxl::read_xlsx()
, я мог также работать только с вектором ячеек в столбце 1, содержащим зачеркнутые значения.
Похоже, пакет tidyxl
- лучший вариант. Применение ответа @Wimpel к этому вопросу SO, о обнаружении стиля зачеркивания, у меня пока что:
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
?