首页 > 解决方案 > 提取 Excel 文件的元数据,包括。作者,与 R

问题描述

我了解file.info()(在 R 中)提取数据,包括所选文件的文件大小、最后修改日期、最后访问日期等。不幸的是,此信息与右键单击 Excel 2016 文件(在 Windows 10 环境中)并转到属性 --> 详细信息时可用的信息不匹配,并且不包括相应文件的作者。

R 中是否有可用的函数或方法来提取上述信息(即文件名称、创建日期、最后修改日期、根据在 Windows 10 环境中右键单击文件的作者),可能提取到数据框?

我一直在谷歌搜索一段时间没有成功。

我要求我的同事在 Excel 文件(每位患者一个文件)中收集(不可识别的)数据,一些数据收集者努力将这些文件与他们在另一个系统上完成的其他条目链接起来(意外地未能提供链接连接两个数据集)。我认为通过提供有关收集的数据的信息,如上所述,数据收集者可能会发现更容易识别他们的条目。

标签: r

解决方案


我最近遇到了同样的问题,发现只有以前写过的属性才可用。例如:如果缺少创建者标记,则该项目将不会出现在 XML 数据中。

# Simulate a file with openxlsx
library(openxlsx)
wb <- createWorkbook()
addWorksheet(wb, 'SheetOne')
writeData(wb, 'SheetOne', mtcars)
addCreator(wb, 'From R with Love')     # add creator   
saveWorkbook(wb, 'test_file.xlsx', overwrite=TRUE)
 
# Use XML library and unzip function, to get metadata in docProps/core.xml
library(XML)
info <- xmlTreeParse(unzip('test_file.xlsx','docProps/core.xml'))

# Transform to a list and see available elements
info <- xmlToList(info)
names(info)
[1] "creator"        "lastModifiedBy" "created"       
 
# Get an item by name
info$creator
[1] "From R with Love"

推荐阅读