Применить общие имена заголовков ко всем файлам в папке - PullRequest
0 голосов
/ 25 октября 2018

У меня есть 4 файла в папке с именем import_xxx.xlsx.

Мне нужно применить следующие задачи,

1. Сначала применить общие имена заголовков ко всем файлам в папке.

Запишите примененные исправления в виде отдельного файла в другую папку.

Я попробовал приведенный ниже код.

1.Читайте список файлов

filenames_list <- list.files(pattern= ".xls", full.names=TRUE) 

Мой вопрос заключается в том, как искать имена заголовков и применять именование измененного имени ко всем файлам.

Мои имена столбцов следующие с примерами данных.

  Sr No     Invoice Date    Invoice No    Payer Name    IGMNo    Container No    Size    Type    Act. gate in Date    Container Agent    Container  Agent  Name    Importer Name    CHA Code    CHA Name    Activity Description    Amount    Service Tax    Total                                                                  
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
  1    8-1-2018 12:12:29 AM    MII180800001    SAME DEUTZ FAHR INDIA PRIVATE LIMITED    2200750    ECMU9674562    40    GB    7-26-2018 4:50:35 AM    CLC007    CMA CGM    SAME DEUTZ FAHR INDIA PRIVATE LIMITED    CHS020    SEAKING CARGO SERVICES (I)  PVT LTD    Handling &  PNR Movement Charges-FCL    10400    1872    12272 
  2    8-1-2018 12:12:29 AM    MII180800001    SAME DEUTZ FAHR INDIA PRIVATE LIMITED    2200750    ECMU9674562    40    GB    7-26-2018 4:50:35 AM    CLC007    CMA CGM    SAME DEUTZ FAHR INDIA PRIVATE LIMITED    CHS020    SEAKING CARGO SERVICES (I)  PVT LTD    Value Added Charges    2000    360    2360                     

Мне нужно выполнить следующие задачи преобразования данных, которые преобразуют символы нижнего регистра в символы верхнего регистра.столбец описания действия))

Нужно ли перебирать файлы для записи?Следующий код напишет файл, но мне нужно перебрать и записать примененные изменения для всех файлов.

write.xlsx2(filename,"path") 

Может кто-нибудь помочь мне в этом, чтобы перебрать файлы и выполнить преобразование заголовкаи записать файлы в цикле?

Спасибо.

1 Ответ

0 голосов
/ 25 октября 2018

Я бы сделал что-то вроде следующего.Вам придется определить вектор с помощью нового общего заголовка, common_header.
(не проверено.)

library(xlsx)

filenames_list <- list.files(pattern= "\\.xls", full.names=TRUE)

target_dir <- "path/to/target/directory/"

lapply(filenames_list, function(fl){
  DF <- read.xlsx2(fl)
  names(DF) <- common_header
  target_fl <- paste0(target_dir, basename(fl))
  write.xlsx2(DF, target_fl)
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...