R-使用read_fwf读取特殊字符

时间:2019-02-27 16:55:38

标签: r encoding readr

我正在尝试使用 readr 包中的 read_fwf 函数将大量字符串转换为数据帧,并且遇到诸如重音符号之类的特殊字符的麻烦。有人可以帮我吗?我不习惯编码:(

import { Observable, of } from "rxjs";


import { TranslateLoader } from "@ngx-translate/core";


export class JSONModuleLoader implements TranslateLoader {
TRANSLATIONS: {
    ar: any,
    en: any
}
constructor(TRANSLATIONS: any) {
    this.TRANSLATIONS = TRANSLATIONS
}
getTranslation(lang: string): Observable<any> {
    return of(this.TRANSLATIONS[lang]);
}
}

结果是:

import { JSONModuleLoader } from './translate/translateLoader';
import { AppTAr, AppTEn } from '../environments/translat';
let TRANSLATIONS = {
  ar: AppTAr,
  en: AppTEn
}
export function createTranslateLoader() {
  return new JSONModuleLoader(TRANSLATIONS);
}

您可以看到口音消失了...

谢谢!

Xevi

1 个答案:

答案 0 :(得分:0)

您可以通过将locale的编码更改为LATIN1来解决此问题:

library(readr)
fw <- fwf_widths(c(2,13,2), col_names = c('A','B','C'))
x <- read_fwf('00StackOvérflow00\n',
                      col_positions = fw, locale = locale(encoding = 'LATIN1'))

返回:

# A tibble: 1 x 3
  A     B             C    
  <chr> <chr>         <chr>
1 00    StackOvérflow 00