CSV-Export vom Bankkonto analysieren
CSV-Export vom Bankkonto analysieren
Hey Leute,
kann mir bitte jemand hierbei helfen:
Ich möchte gerne meine Ein- und Ausgaben analysieren und diese grafisch darstellen zur besseren Übersicht.
Leider bietet die DKB hierfür von Haus aus keine Funktion mit der man das auf der Webseite machen könnte.
Dementsprechend bin ich bei meiner Recherche auf R gestoßen, doch leider fehlt mir da die nötige Kompetenz das umzusetzen, also hoffe ich auf eure Hilfe.
Hier mal ein Screenshot von den Spaltennamen der CSV-Datei:
kann mir bitte jemand hierbei helfen:
Ich möchte gerne meine Ein- und Ausgaben analysieren und diese grafisch darstellen zur besseren Übersicht.
Leider bietet die DKB hierfür von Haus aus keine Funktion mit der man das auf der Webseite machen könnte.
Dementsprechend bin ich bei meiner Recherche auf R gestoßen, doch leider fehlt mir da die nötige Kompetenz das umzusetzen, also hoffe ich auf eure Hilfe.
Hier mal ein Screenshot von den Spaltennamen der CSV-Datei:
Re: CSV-Export vom Bankkonto analysieren
Hallo matte20,
natürlich lassen sich solche Dateien mit R auswerten. Wenn Du Lust hast, Dich in R einzuarbeiten, dann helfen wir Dir gerne. Was nicht heißt, dass wir ohne Eigenleistung Deinerseits für Dich beliebig komplexe Auswertungen programmieren. Das kommt aus Deiner Anfrage nicht ganz raus.
Die zwei nächsten Schritte:
Bernhard
natürlich lassen sich solche Dateien mit R auswerten. Wenn Du Lust hast, Dich in R einzuarbeiten, dann helfen wir Dir gerne. Was nicht heißt, dass wir ohne Eigenleistung Deinerseits für Dich beliebig komplexe Auswertungen programmieren. Das kommt aus Deiner Anfrage nicht ganz raus.
Die zwei nächsten Schritte:
- CSV-Dateien können sehr unterschiedlich aussehen. Um sie einzulesen, muss man ein wenig darüber wissen, wie das CSV codiert ist. Bitte lese die Datei mit einem Texteditor ein, ändere um der Diskretion willen ein paar Zahlen und poste die ersten etwa 10 Zeilen hier.
- Welche Art von Auswertung stellst Du Dir denn vor? Welche Fragen sollen beantwortet werden? Schreib das mal konkret auf.
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: CSV-Export vom Bankkonto analysieren
Danke Bernhard für die schnelle Antwort,
ich versuche mich seit 2 Stunden in R einzuarbeiten, leider ohne Erfolg.
Beim Versuch die CSV-Datei per einzulesen bin ich schon mal gescheitert.
Hab auch den Pfad angegeben:
Dachte das könnte an der CSV-Datei liegen, weil die Bank das vielleicht anders codiert. Jedenfalls habe ich die wirklich notwendigen Daten dann kopiert und in eine neue Excel Tabelle eingefügt und diese als .CSV abgespeichert.
Jetzt wird mir eine andere Meldung angezeigt: Jedenfalls richte ich mich erstmal an deine Anweisungen und selbstverständlich versuche ich mich mit R auseinanderzusetzen.
Ansicht im Texteditor: Was ich mir vorstelle:
Positive und negative Beträge sollen separat und summiert in den entsprechenden Monaten angezeigt werden.
Bspw. Januar-> Einnahmen: 2000 Ausgaben: 1000
Februar-> Einnahmen: 3000 Ausgaben: 1500
usw.
ich versuche mich seit 2 Stunden in R einzuarbeiten, leider ohne Erfolg.
Beim Versuch die CSV-Datei per
Code: Alles auswählen
read.csv("Umsätze2015.csv")
Hab auch den Pfad angegeben:
Code: Alles auswählen
path <- "/Users/Matte/Desktop/Umsätze" #Pfad zum Ordner
setwd(path)
Dachte das könnte an der CSV-Datei liegen, weil die Bank das vielleicht anders codiert. Jedenfalls habe ich die wirklich notwendigen Daten dann kopiert und in eine neue Excel Tabelle eingefügt und diese als .CSV abgespeichert.
Jetzt wird mir eine andere Meldung angezeigt: Jedenfalls richte ich mich erstmal an deine Anweisungen und selbstverständlich versuche ich mich mit R auseinanderzusetzen.
Ansicht im Texteditor: Was ich mir vorstelle:
Positive und negative Beträge sollen separat und summiert in den entsprechenden Monaten angezeigt werden.
Bspw. Januar-> Einnahmen: 2000 Ausgaben: 1000
Februar-> Einnahmen: 3000 Ausgaben: 1500
usw.
Re: CSV-Export vom Bankkonto analysieren
Hallo Matte,
willkommen im Forum!
Wie heißt die Datei nun wirklich:
a) "Umsätze2015.csv" (so wie in der Nachricht angegeben) oder
b) "Umsätze2016" (ohne ".csv" am Ende, so wie im Bild mit der Fehlermeldung)
Allgemeine Hinweise:
1. Man kann nach dem setwd(...) mit dir() und getwd() kontrollieren, ob alles geklappt hat.
2. Umlaute im Dateinamen sind eventuell ungünstig; beheben:
a) anderen Namen für die Datei
b) file.choose() verwenden.
Bei Deiner Datei musst Du bei read.table() sep=';' und dec=',' setzen! Also:
Gruß, Jörg
willkommen im Forum!
Wie heißt die Datei nun wirklich:
a) "Umsätze2015.csv" (so wie in der Nachricht angegeben) oder
b) "Umsätze2016" (ohne ".csv" am Ende, so wie im Bild mit der Fehlermeldung)
Allgemeine Hinweise:
1. Man kann nach dem setwd(...) mit dir() und getwd() kontrollieren, ob alles geklappt hat.
2. Umlaute im Dateinamen sind eventuell ungünstig; beheben:
a) anderen Namen für die Datei
b) file.choose() verwenden.
Bei Deiner Datei musst Du bei read.table() sep=';' und dec=',' setzen! Also:
Code: Alles auswählen
U <- read.table(file=file.choose(), header=TRUE, sep=';', dec=',')
Re: CSV-Export vom Bankkonto analysieren
Hallo matte20,
was Jörg vergessen hat: Nach dem Einlesen, wie von ihm gezeigt, bitte das Ergebnis von posten (ggf nach Ändern von Beträgen oder erkennbaren Namen, das ist ja ein öffentliches Forum hier).
LG,
Bernhard
was Jörg vergessen hat: Nach dem Einlesen, wie von ihm gezeigt, bitte das Ergebnis von
Code: Alles auswählen
str(U)
Das sind realistische Anfängerziele. Das kriegen wir hin.Was ich mir vorstelle:
Positive und negative Beträge sollen separat und summiert in den entsprechenden Monaten angezeigt werden.
Bspw. Januar-> Einnahmen: 2000 Ausgaben: 1000
Februar-> Einnahmen: 3000 Ausgaben: 1500
usw.
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: CSV-Export vom Bankkonto analysieren
Vielen Dank Jörg, funktioniert jetzt!Allgemeine Hinweise:
1. Man kann nach dem setwd(...) mit dir() und getwd() kontrollieren, ob alles geklappt hat.
2. Umlaute im Dateinamen sind eventuell ungünstig; beheben:
a) anderen Namen für die Datei
b) file.choose() verwenden.
Jetzt muss ich mich mal schnell mit str() auseinandersetzen, weil ich echt nicht weiß was das Ergebnis zu bedeuten hat.bitte das Ergebnis von str(U) posten
Re: CSV-Export vom Bankkonto analysieren
aber nur im Sinne von "es gab keine Fehlermeldung"matte20 hat geschrieben: ↑Mo Dez 18, 2017 3:00 pmVielen Dank Jörg, funktioniert jetzt!Allgemeine Hinweise:
1. Man kann nach dem setwd(...) mit dir() und getwd() kontrollieren, ob alles geklappt hat.
2. Umlaute im Dateinamen sind eventuell ungünstig; beheben:
a) anderen Namen für die Datei
b) file.choose() verwenden.
Bildschirmfoto 2017-12-18 um 14.51.36.png
Leider nichts Gutes:Bildschirmfoto 2017-12-18 um 14.51.46.pngbitte das Ergebnis von str(U) posten
Jetzt muss ich mich mal schnell mit str() auseinandersetzen, weil ich echt nicht weiß was das Ergebnis zu bedeuten hat.
Du hast Zahlen, bei denen es ein Tausender-Trennzeichen gibt. Deshalb werden die Zahlen nicht als solche erkannt.
Unter diesen Umständen, kannst Du beim Einlesen mit read.table() noch den Parameter stringsAsFactors=FALSE setzen.
Dann weiter mit
Code: Alles auswählen
names(U)[2] <- "Betrag"
U$Betrag <- gsub(".", "", U$Betrag, fixed=TRUE)
U$Betrag <- gsub(",", ".", U$Betrag, fixed=TRUE)
U$Betrag <- as.numeric(U$Betrag)
U$Buchungstag <- as.Date(U$Buchungstag, format="%d.%m.%Y")
Code: Alles auswählen
library("lubridate")
U$Jahr <- year(U$Buchungstag)
U$Monat <- month(U$Buchungstag)
Code: Alles auswählen
aggregate(Betrag ~ Jahr + Monat, data=subset(U, Betrag>=0), FUN=sum) # und
aggregate((-Betrag) ~ Jahr + Monat, data=subset(U, Betrag<0), FUN=sum)
Re: CSV-Export vom Bankkonto analysieren
Hallo Jörg,
erstmal vielen lieben Dank! Für die Jahre 2015 und 2016 hat es einwandfrei funktioniert, aber für 2017 scheint der mir falsche Werte auszugeben.
Die CSV-Dateien enthalten im Schnitt identische Werte und dieselben Spalten.
Hier mal ein Ausschnitt mit Beispielwerten:
Januar - positive und negative Werte: Summierte Ausgabe der negativen Beträge in R: Die positiven Werte scheinen aber korrekt zu sein und der Code macht auch Sinn..
erstmal vielen lieben Dank! Für die Jahre 2015 und 2016 hat es einwandfrei funktioniert, aber für 2017 scheint der mir falsche Werte auszugeben.
Die CSV-Dateien enthalten im Schnitt identische Werte und dieselben Spalten.
Hier mal ein Ausschnitt mit Beispielwerten:
Januar - positive und negative Werte: Summierte Ausgabe der negativen Beträge in R: Die positiven Werte scheinen aber korrekt zu sein und der Code macht auch Sinn..
Re: CSV-Export vom Bankkonto analysieren
Hallo Matte,
Für eine Fehlersuche würde ich wie folgt vorgehen:
1. nach dem Einlesen zuerst die Datumsoperationen,
2. die Spalte $Betrag zusätzlich zu den originalen Daten generieren,
3. Kontrolle der verdächtigen Daten.
Gruß, Jörg
Bildschirmfotos sind nicht geeignet, um das Verhalten zu reproduzieren. Da die Einleseprozedur mir inzwischen bekannt ist, ist eine CSV-Datei gut geeignet, um entsprechende Daten zu konstruieren.matte20 hat geschrieben: ↑Di Dez 19, 2017 1:43 am Hallo Jörg,
erstmal vielen lieben Dank! Für die Jahre 2015 und 2016 hat es einwandfrei funktioniert, aber für 2017 scheint der mir falsche Werte auszugeben.
Die CSV-Dateien enthalten im Schnitt identische Werte und dieselben Spalten.
Hier mal ein Ausschnitt mit Beispielwerten:
Januar - positive und negative Werte:
Bildschirmfoto 2017-12-19 um 01.39.31.png
Summierte Ausgabe der negativen Beträge in R:
Bildschirmfoto 2017-12-19 um 01.41.24.png
Die positiven Werte scheinen aber korrekt zu sein und der Code macht auch Sinn..
Für eine Fehlersuche würde ich wie folgt vorgehen:
1. nach dem Einlesen zuerst die Datumsoperationen,
2. die Spalte $Betrag zusätzlich zu den originalen Daten generieren,
3. Kontrolle der verdächtigen Daten.
Code: Alles auswählen
library("lubridate")
U <- read.table(file=file.choose("Umsaetze2017"), header=TRUE, sep=';', dec=',', stringsAsFactors=FALSE)
U$BuTag <- as.Date(U$Buchungstag, format="%d.%m.%Y")
U$Jahr <- year(U$BuTag)
U$Monat <- month(U$BuTag)
U$Betrag <- gsub(".", "", U[, 2], fixed=TRUE)
U$Betrag <- gsub(",", ".", U$Betrag, fixed=TRUE)
U$Betrag <- as.numeric(U$Betrag)
# subset(U, Betrag>=0 & Monat==1)
subset(U, Betrag<0 & Monat==1)
sum(subset(U, Betrag<0 & Monat==1)$Betrag)
aggregate(Betrag ~ Jahr + Monat, data=subset(U, Betrag<0), FUN=sum)
Re: CSV-Export vom Bankkonto analysieren
Hallo Jörg,
Bin gespannt,
Bernhard
Kannst Du mir die Formel da erklären? Schlägst Du wirklich einen Variablennamen vor, der ein Minus enthält? Den Trick mit der Klammer kannte ich nicht, aber ist das eine gute Idee?jogo hat geschrieben: ↑Mo Dez 18, 2017 3:29 pmCode: Alles auswählen
aggregate((-Betrag) ~ Jahr + Monat, data=subset(U, Betrag<0), FUN=sum)
https://cran.r-project.org/doc/manuals/ ... dentifiersIdentifiers consist of a sequence of letters, digits, the period (‘.’) and the underscore. They must not start with a digit or an underscore, or with a period followed by a digit.
Bin gespannt,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte