Нет необходимости использовать tidyverse
. Просто зациклите столбцы, которые удовлетворяют условию:
set.seed(1)
df <- data.frame(a = rep("Einfügen einer Zwischenebene", 5), b = runif(5), c = rep("Einfügen einer Zwischenebene", 5), stringsAsFactors = F)
cols <- names(df)
for(i in seq_along(cols)){
if(!is.character(df[, cols[[i]]])) next
Encoding(df[, cols[[i]]]) <- "UTF-8"
}
В результате:
> df
a b c
1 Einfügen einer Zwischenebene 0.2655087 Einfügen einer Zwischenebene
2 Einfügen einer Zwischenebene 0.3721239 Einfügen einer Zwischenebene
3 Einfügen einer Zwischenebene 0.5728534 Einfügen einer Zwischenebene
4 Einfügen einer Zwischenebene 0.9082078 Einfügen einer Zwischenebene
5 Einfügen einer Zwischenebene 0.2016819 Einfügen einer Zwischenebene
dplyr::mutate_if(df, is.character, .funs = function(x){return(`Encoding<-`(x, "UTF-8"))})
Я посмотрел бы на:
http://vobject.skyhouseconsulting.com/usage.html (смотрят под "Примерами использования"),
Очень легкий парсинг и поколение и vCal и vCard.
PyCoCuMa, кажется, встраивает синтаксический анализатор VCF в него, и он генерирует вывод VCard. У Вас могла бы быть некоторая удача с ним. Я играл вокруг с ним немного; это проанализировало некоторые файлы VCF, у меня есть ложь вокруг без любых проблем. Необходимо будет, скорее всего, ввести по абсолютному адресу через источник, чтобы выяснить, как использовать его, все же.
См.:
http://www.srcco.de/v/pycocuma
http://pycocuma.sourcearchive.com/documentation/0.4.5-6-5/vcard_8py-source.html