Ich bin fest. Ich habe diese Codezeilen definiert, um verschiedene CSVs zu binden, die ich beim Parsen ihrer Ordner lese.Legen Sie Spalten Bedingungen beim Binden einer großen Liste von Dateien
setAs("character", "myDate", function(from) as.Date(from, format = "%d/%m/%Y"))
LF <- list.files("O:/00 CREDIT MANAGEMENT/", pattern = ".csv", full.names = TRUE, recursive = FALSE)
PayMatrix <- do.call("rbind", lapply(archivos1, function(x) {
read.csv(x, header = 3, sep = ";", dec = ",", skip = "2", na.strings = "",
colClasses= c("Expiration.Date" = "myDate", "Payment.date" = "myDate"))
}))
Mein Problem ist, dass es eine sehr große Menge von Daten ist, und ich würde gerne wissen, wie diese csv Parsen bedingt für den Wert von „Payment.Date“ Spalte abhängig (dh Payment.Date> 0), ich werde auch nur ein paar Teile der Spalten in diesen csv verwenden, also möchte ich die Dateien vor oder während der Schleife schneiden.
Ich habe das "awk" Ding versucht, aber es funktioniert nicht.
{read.csv(pipe("awk '{if (Payment.date > 0) print [,c(1:2,6:9,29)]}'x"), header=3...
Meine Eingabedateien sind etwas ähnliches. (Csv, header = 3)
CURRENT INVOICES 27/03/2017 (W 13)
16276178,26
Client Code. Invoice Invoice Date Expiration Date Amount Payment date
1004775 21605000689 29/05/2016 29/07/2016 226,3
1005140 21702000548 28/02/2017 28/04/2017 22939,2
1004775 21703005560 25/03/2017 25/05/2017 21456,2
1004858 F9M01815. 30/01/2017 30/03/2017 5042,52 27/03/2017
Die Eingabedatei scheint nicht mit den Parametern des Aufrufs von 'read.csv()' übereinzustimmen, insbesondere 'sep ="; "'. – Uwe