我正在尝试使用我拖到Jupyter Lab文件夹(在这种情况下为... Tabs.xlsx)的R读取excel文件。如何使用R或Python读取该文件?
答案 0 :(得分:0)
在python中,您可以使用pandas,它具有内置功能,可简化此操作:
import pandas as pd
pd.read_excel("my_excel.xlsx", sheet_name="my_sheet_name")
答案 1 :(得分:0)
require(openxlsx)
# I wrote a function to read-in all sheets of a excel file
# assuming the excel sheets reflect 1 simple data frame each.
# I hope your excel sheets are very simple and don't need skipping
# data or leaving out some areas etc. Otherwise, you have to modify
# or use plain `read.xlsx` from `openxlsx`.
# This function returns a list of data frames
# (for each sheet 1 data frame)
# the names of the elements of the list being the sheet-titles.
#############################
# read xlsx files to dfs list
#############################
xlsx2df.list <- function(xlsx.path, rowNames = TRUE, colNames = TRUE, ...) {
wb <- loadWorkbook(xlsx.path)
sheetNames <- names(wb)
res <- lapply(sheetNames, function(sheetName) {
read.xlsx(wb, sheet = sheetName, rowNames = rowNames, colNames = colNames, ...)
})
names(res) <- sheetNames
res
}
dfs <- xlsx2df.list("path/to/my_excel.xlsx")
first.sheet.df <- dfs[[1]] # or dfs[["sheet1-title"]]
second.sheet.df <- dfs[[2]] # ...
我写这是为了不必检查工作表名称是什么 因此,我必须阅读哪张纸。 这是我在工作中最常用的功能之一, 自从我从事生物学工作以来,生物学家一直钟爱excel表格。
此函数通过为您调用openxlsx`函数来节省您的时间。 (您不必学习它们,因此,只要您的表很简单 而且足够定期...)。
注意:openxlsx
比xlsx
更容易出错,因为它避免使用Java。我遇到了Java的内存限制问题。 xlsx -dependent functions got memory errors when the excel files were huge (Gbs).
So: use
openxslx , avoid
xlsx`(依赖Java)!