4

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

为重现性而附加的示例文件:示例 csv 文件

以下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。

4

1 回答 1

2

正如 Gregor 在评论中提到的那样,readr 包存在一个未解决的问题。

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

csv_data <- read.delim('csv_test.csv', stringsAsFactors = FALSE, fileEncoding = 'UTF-16LE')
于 2017-12-28T15:00:59.757 回答