如何在R中导入含~$标识的临时Excel文件?
处理带~$前缀的Excel临时文件导入问题
带~$前缀的文件是Office打开对应Excel文件时生成的临时锁定文件,它并非完整的Excel工作簿结构,仅用于标记文件正被编辑,所以readxl::read_excel()、data.table::fread()这类常规工具直接读取会失败。可以尝试以下两种方式尝试提取内容:
方法1:重命名后尝试读取
- 先关闭正在编辑对应Excel文件的Office程序,确保临时文件不再被占用
- 将
~$file_i_want.xlsx重命名为file_i_want_temp.xlsx(去掉~$前缀) - 再用
readxl::read_excel()尝试读取,部分临时文件可能保留了部分可识别的数据结构
方法2:二进制读取提取文本片段
如果重命名后仍无法读取,可尝试用R的二进制读取方式提取文件中的纯文本内容:
# 读取文件二进制内容并转为文本 temp_content <- readLines("folder_name/~$file_i_want.xlsx", warn = FALSE, encoding = "UTF-8") # 查看提取到的文本内容 cat(temp_content, sep = "\n")
这种方法只能提取文件中存储的纯文本片段,无法恢复完整表格结构,仅适合应急提取部分内容。
注意:这类临时文件本质是不完整的,大概率无法恢复完整的Excel数据,最稳妥的方式是找到对应的原始完整Excel文件(即不带~$前缀的文件)。
内容的提问来源于stack exchange,提问作者wulasa
相关产品推荐
相关产品推荐

