write.xlsx 和 header 名称问题的批量转换
Batch conversion with write.xlsx and header name issue
我正在使用 openxlsx
包中的 write.xlsx
将大量 .csv 文件批量转换为 xlsx 格式
我使用以下内容转换文件列表(超过 200 个)。
我需要这样做的原因是为了上传到数据库,它只接受 xlsx 文件。
filenames <- list.files("C:/split files", pattern="*.csv", full.names=TRUE)
for(i in filenames) {
a <- read.csv(i)
new_name <- sub('.csv', '.xlsx', i, fixed = TRUE)
write.xlsx(a, new_name, row.names = F)
我遇到的问题是 headers 以前在名称中有空格(同样是数据库所需的格式)现在有“.”。空间曾经在哪里。有没有一种简单的方法可以添加到上面的代码并替换“。”用“ ”?
尝试
read.csv(i, check.names = F)
你知道那个“。”因为 R 在读取 csv 文件时会检查并转换您的列名。我们可以通过禁用该检查来保留原始名称。
我正在使用 openxlsx
包中的 write.xlsx
将大量 .csv 文件批量转换为 xlsx 格式
我使用以下内容转换文件列表(超过 200 个)。
我需要这样做的原因是为了上传到数据库,它只接受 xlsx 文件。
filenames <- list.files("C:/split files", pattern="*.csv", full.names=TRUE)
for(i in filenames) {
a <- read.csv(i)
new_name <- sub('.csv', '.xlsx', i, fixed = TRUE)
write.xlsx(a, new_name, row.names = F)
我遇到的问题是 headers 以前在名称中有空格(同样是数据库所需的格式)现在有“.”。空间曾经在哪里。有没有一种简单的方法可以添加到上面的代码并替换“。”用“ ”?
尝试
read.csv(i, check.names = F)
你知道那个“。”因为 R 在读取 csv 文件时会检查并转换您的列名。我们可以通过禁用该检查来保留原始名称。