【发布时间】:2016-04-27 14:43:14
【问题描述】:
我有一个带有嵌套引号的 latin1 编码 csv 文件:
Ort;Stra▒e;Bezeichnung
Vienna;Testgasse 1;"Ministerium ""Pestalozzi"""
Graz;Teststra▒e 3;HS
Salzburg;Beispielstra▒e 9;"NMS ""Die Schlauen"""
Vienna;Wolfgang-Stra▒e 7;"Wirtshaus ""Wien III"""
使用 data.table 1.9.6 中的 fread 在标题中给出错误的特殊字符 (ß),而下面的所有 ß 都是正确的 - 引用的引号保持“”。
dat <- fread("latin1quotedat.csv", encoding = "Latin-1")
dat # wrong header, wrong quotes
Ort Stra\xdfe Bezeichnung
1: Vienna Testgasse 1 Ministerium ""Pestalozzi""
2: Graz Teststraße 3 HS
3: Salzburg Beispielstraße 9 NMS ""Die Schlauen""
4: Vienna Wolfgang-Straße 7 Wirtshaus ""Wien III""
使用基础 R 中的 read.csv2 一切都符合预期:
dat1 <- read.csv2("latin1quotedat.csv", encoding = "latin1")
dat1 # ok
Ort Straße Bezeichnung
1 Vienna Testgasse 1 Ministerium "Pestalozzi"
2 Graz Teststraße 3 HS
3 Salzburg Beispielstraße 9 NMS "Die Schlauen"
4 Vienna Wolfgang-Straße 7 Wirtshaus "Wien III"
也许有一个引号选项(虽然我没有找到)。 标题中被误解的特殊字符看起来像一个错误。
可以在此处找到代码和示例 csv:https://github.com/nachti/datatable_test。
克隆存储库并运行latin1quotedat.R。
格哈德
【问题讨论】:
-
是我的疏忽.. 在实现该功能时跳过了标题。你能在项目页面上提交这个吗?谢谢。
标签: r data.table