1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| library(gdata)
#choisir le repertoire de travail
setwd("~Documents/Programmer R/Megadataxls")
# get all the right file names
file_names = list.files(getwd())
file_names = file_names[grepl(".xls",file_names)]
#get the read.xls function working
Megadata = read.xls("connaissement_1_lot1320.xlsx", header=T, stringsAsFactors = F)
#suppression des 7 premieres lignes- debut de modification du fichier excel
corps <-tail(Megadata,-7)
#suppression de la colonne 7
corps <-corps[,-7]
#suppression de tous sauf les 7 premieres lignes
entete<-head(Megadata,7)
#transposition en colonnes de l'entete
entete <- t(entete)
#suppression des lignes et espace unitil
entete<-head(entete,3)
entete <- entete[-2,]
entete <- entete[,-7]
#enregistrer le fichier entete en csv dans un autre dossier
setwd("~/Documents/Programmer R/Megadatacsvexport")
write.table(entete, file = "entete.csv", sep = ",", col.names = NA,
qmethod = "double")
#importer entete en fichier csv et suppression de la ligne 1 et 2
entete <- read.csv("entete.csv", header=F)
entete <- tail(entete,2)
entete <- tail(entete,1)
#fusion des 2 tableaux les champs vides seront remplace par NA- Fin des modifications du fichier excel
Megadata <- cbindX(entete,corps)
# utilisation de la boucle for pour appliquer les modifications du fichier precedent aux autres - c'est la que ca coince
data.files = list.files()
for (file in data.files[1]) {
Megadata1 = read.xls("connaissement_1_lot1320.xlsx", header=T, stringsAsFactors = F)
# get all the right file names
file_names = list.files(getwd())
file_names = file_names[grepl(".xls",file_names)]
#suppression des 7 premieres lignes
corps <-tail(Megadata1,-7)
#suppression de la colonne 7
corps <-corps[,-7]
#suppression de tous sauf les 7 premieres lignes
entete<-head(Megadata1,7)
#transposition en colonnes de l'entete
entete <- t(entete)
#suppression des lignes et espace unitil
entete<-head(entete,3)
entete <- entete[-2,]
entete <- entete[,-7]
#enregistrer le fichier entete en csv dans un autre dossier
setwd("/home/essis/Documents/Programmer R/Megadatacsvexport")
write.table(entete, file = "entete.csv", sep = ",", col.names = NA,
qmethod = "double")
#importer entete en fichier csv et suppression de la ligne 1 et 2
entete <- read.csv("entete.csv", header=F)
entete <- tail(entete,2)
entete <- tail(entete,1)
#fusion des 2 tableaux les champs vides seront remplace par NA
Megadata2 <- cbindX(entete,corps)
#ajout a Megadata
Megadata = rbind(Megadata, Megadata2)
} |
Partager