使用readr从cognos 8文件(utf 16)读入R数据帧

问题描述 投票:3回答:1

我试图使用readr将cognos 8生成的csv文件读入r。

为再现性附加的示例文件:Example csv file

以下python代码有效:

df = pd.read_table('csv_test.csv', encoding = 'utf-16')

我在R中尝试了以下内容,但没有一个返回正确的结果。它们是错误(不完整的多字节序列)或读取不正确(作为嵌套列表或类似)

csv_data <- read_table('csv_test.csv')
csv_data <- read_table('csv_test.csv', locale = locale(encoding = 'UTF-16LE'))
csv_data <- read_tsv('csv_test.csv')
csv_data <- read_tsv('csv_test.csv', locale = locale(encoding = 'UTF-16LE'))

我使用guess_encoding()获得UTF-16LE,我也尝试过UTF-16。

r csv readr cognos-8 utf-16le
1个回答
0
投票

正如Gregor的评论中所提到的,readr包有一个未解决的问题。

作为一种解决方法,基础包read_delim将起作用:

csv_data <- read.delim('csv_test.csv', stringsAsFactors = FALSE, fileEncoding = 'UTF-16LE')
© www.soinside.com 2019 - 2024. All rights reserved.