[英]fs::dir_ls() returns unreadable output for file paths with chinese characters inside
我正在使用fs::dir_ls()
获取目录main_path
下的 excel 文件路径,但由于文件路径中有汉字,我得到一个不可读的 output,我认为这可能与编码问题有关:
main_path <- '../../raw_data/2022-01-10/'
file_paths <- fs::dir_ls(main_path, regexp = ".xlsx")
file_paths
出去:
../../raw_data/2022-01-10/閽㈤搧_鐒︾偔_浠峰樊_鐒︾偔J2201DCE鐒︾偔J2205DCE_涓诲姏_2022-01-10.xlsx
../../raw_data/2022-01-10/閽㈤搧_鐒︾偔_浠峰樊_鐒︾偔J2201DCE鐒︾偔J2209DCE_2022-01-10.xlsx
虽然list.files(path = main_path, pattern ='.xlsx')
正确返回文件名:
[1] "甘其毛道库提价含税焦煤A23V2606SG85JM焦煤JM2201DCE_2022-01-10.xlsx"
[2] "甘其毛道库提价含税焦煤A23V2606SG85JM焦煤JM2205DCE_2022-01-10.xlsx"
我使用的fs
package 的版本:
Warning message:
package ‘fs’ was built under R version 4.1.2
有人知道如何处理这个问题吗? 或者是否有等效的方法来获取 R 目录下的 excel 文件路径? 谢谢。
更新:
我没有找到导致此错误的原因,它可能与 RStudio 的locale
有关,因为它适用于我的 Mac 但不适用于 Windows 10 机器,我设置Sys.setlocale("LC_ALL","zh_CN.utf-8")
,也不起作用,但我找到了另一种解决方案:
file_names <- list.files(path = main_path, pattern ='.xlsx')
file_paths <- file.path(main_path, file_names)
出去:
[1] "../../raw_data/2022-01-10/甘其毛道库提价含税焦煤A23V2606SG85JM焦煤JM2201DCE_2022-01-10.xlsx"
[2] "../../raw_data/2022-01-10/甘其毛道库提价含税焦煤A23V2606SG85JM焦煤JM2205DCE_2022-01-10.xlsx"
参考:
当fs
package 的版本高于1.5.0
时,问题是可用的,因此将fs
降级到1.5.0
可以使用代码修复它:
devtools::install_version("fs", "1.5.0")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.