使用list.files读取R中的重音文件名

时间:2017-06-05 13:42:19

标签: json r gis filenames non-ascii-characters

我正在为每个州的R Studio(R 3.1,Windows 8)中提供here提供的县geojson文件。我在R中使用list.files()函数。

对于州PR,其中有许多县有重音(西班牙语)名称即。 Bayamón.geo.json,Añasco.geo.json。函数list.files()返回缩写形式的文件名,如An~asco.geo.json,Bayamo'n.geo.json。

在下一步中,我尝试使用上面的文件名读取实际文件。我收到一个错误,指出这些文件不存在。

我使用的是系统默认编码ISO-8859-1,并尝试将其更改为UTF-8,但没有运气。

请帮我解决这个问题。如何读取带有重音文件名的文件?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我猜是因为我计算机上的默认系统语言与我要转换的文件名不同(例如,系统语言=英语,文件名=法语)而发生的。最后,下面的代码帮助我更改了文件名。

FILENAME_OLD是原始文件的完整路径,例如“ C:/directory/file.wav”

FILENAME_NEW是新文件名的完整路径,例如“ C:/directory/file_new.wav”

#########使用非英语字符更改文件名
path = "C:/directory"
setwd(path)

test_old <- Sys.glob('C:/directory/*')
test_new <- gsub("FILENAME_OLD",
                 "FILENAME_NEW", test_old)

file.rename(test_old, test_new)