Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von Hiker » Do, 16.04.2015 08:14

Hallo,
swinit hat geschrieben:problem is einfach, ich kann die pdf nicht als csv direkt umwandeln, sonst wäre alles einfacher,
.....
ich dachte halt, ob man so den zwischenschritt programmieren könnte, was mein kollege vorschlug....naja egal
der pdf2txt.Konverter bringt dir halt nur die Buchstaben wieder in eine lesbare Reihenfolge, dekodiert nebenbei komprimierte Segmente und wirft
alles weg, was nur Anweisungen für das Layout sind (Schriftarten....).
Wenn Du Lust hast, öffne mal Deine PDF-Datei mit einem Texteditor und such dann (per Suchfunktion) nach einem der ersten
Buchungstexte. Wenn Du Ihn findest, hast Du eine Vorstellung, was die Ausgangsbasis ist.

Wenn Du den Text nicht findest (wie Ich bei meiner Tabelle über E10-Verträglichkeit bei Automarken) müsstest Du via

Code: Alles auswählen

pdftk Kontoauszug.pdf output plain.txt uncompress
den Text erstmal dekomprimieren (hab ich kurz ergoogelt siehe:
http://www.heise.de/security/artikel/Ta ... kelseite=2 )

Eine sinnvolle Konvertierung nach csv müsste die Struktur in der pdf-Datei erkennen, etwas was nicht ganz trivial ist und auch in Python mehr als ein paar Zeilen braucht - denn ein einfaches Regelwerk kann ich in Deinen Beispielen nicht erkennen.
Einige OCR-Programme bringen inzwischen recht ordentliche Tabellenerkennungen mit - evtl versuchst Du es mal mit eine Testversion von Finereader oder Omnipage - wenn es denn eine gibt. Lohnen tut sich der Aufwand aber meist erst, wenn man das mehr als einmal braucht. Immerhin kann man Dort meist einmal die Tabelle auf der ersten Seite einrichten und dann die Folgeseiten in dieselbe Tabelle scannen lassen.

MfG, Jörn

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von Stephan » Mi, 15.04.2015 11:15

mit feldtrennern klappts dann auch
Wie denn?

Ich hatte doch bereits geschrieben das ich dafür nun gerade keine (einfache) Lösung sehe, so wie die Daten vorliegen.
wie ergänze ich da die formel?
Garnicht, denn die Formel 'verschluckt' keine Eurozeichen, sondern kopiert/kombiniert stur den vorhandenen Text. Wenn Eurozeichen fehlen dann weil sie schon im Ausgangstext fehlen (also dem Text der in "Tabelle1" kopiert wurde).

Der Beispieltext von Dir enthält z.B. keine Eurozeichen und darüber hinaus entzieht es sich meiner Kenntnis warum das so ist, denn wenn dieser Text zunächst aus einem PDF durch Umwandlung erzeugt wurde hatte ich ja bereits genau auf solche Probleme hingewiesen:

"die Schwierigkeit liegt insbesondere auch darin das bei der Konvertierung einzelne Zeichen/Zahlen verstümmelt/verändert werden [können]"



Gruß
Stephan

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von swinit » Mi, 15.04.2015 11:01

das euro zeichen ist nur irgendwie weg, also wird nicht mitgenommen? wie ergänze ich da die formel?

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von swinit » Mi, 15.04.2015 10:46

hey super, die antwort war aufjedenfall so dass ich echt voran gekommen bin, an sich hat es soweit geklappt, allerdings nervt lexware jetz nur noch.....aber es sieht bisher sehr gut aus, alles in einer zeile mit feldtrennern klappts dann auch....danke aufjedenfall

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von Stephan » Mi, 15.04.2015 10:04

und dort ja schaff ich es auch nicht, eine buchung in eine zeile zu kriegen
mit dem Assistenten nicht, aber dass geht doch per Formel,z.B.:

kopiere den Text (siehe zweites Textbeispiel in DEinem post vom 15.04.15 9:03 ) in "Tabelle1" in die Spalte A
schreibe in "Tabelle2" in Zelle A1 die Formel: =WENN(LINKS(Tabelle2.A2;12)="Überw./Zahl.";Tabelle2.A1&Tabelle2.A2;"")

ziehe diese Formel beliebig weit nach unten

jede zweite Zeile ist nun leer, deswegen sortiere z.B. aufsteigend und alle Zeilen mit Inhalt stehen untereinander und jede Zeile enthält nun einen Buchungssatz


Ich sehe allerdings nicht das das das Problem schon nennenwert löst, denn die Buchungssätze enthalten keine Trenner anhand derer man die einzelnen FElder leicht aufteilen könnte.


Gruß
Stephan

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von nikki » Mi, 15.04.2015 10:00

Hallo,
ob .txt- oder .csv-Datei ist einerlei. Beides sind Textdateien die sich nur in der Dateiendung unterscheiden. Stattdessen kommt es auf den Inhalt an.

Wenn Du z.B. eine .txt-Datei mit dem korrekten Inhalt hast, brauchst Du nur die Dateiendung .txt durch .csv zu ersetzen.

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von Karolus » Mi, 15.04.2015 09:59

Hallo

.csv ist purer Text, du musst lediglich den Dateinamen ändern von blah.txt auf blah.csv

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von swinit » Mi, 15.04.2015 09:42

hey, ja der erste auszug ist nur ein test-export gewesen, woran man ableiten kann, wie es später aussehen soll, die beiden sind vom text her nicht identisch bzw. von den buchungen.....

problem is einfach, ich kann die pdf nicht als csv direkt umwandeln, sonst wäre alles einfacher, da bleibt mir dann meist nur txt. oder xls.....so tue ich dies, verschiebt sich leider viel, was ja klar is, weshalb ich dann calc brauche, und den txt. imporiere, wo ich dann beim import-assistentin lande, und dort ja schaff ich es auch nicht, eine buchung in eine zeile zu kriegen.....man es etwas begradigen, aber im prinzip muss man den rest trotzdem in calc selbst eintippen verschieebn etc.....

ich dachte halt, ob man so den zwischenschritt programmieren könnte, was mein kollege vorschlug....naja egal

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von Stephan » Mi, 15.04.2015 09:38

im prinzip soll es so aussehen :

...

aaaaber bisher hab ichs nur auf 2 zeilen geschafft, wo leider auch einige teile verschoben worden , dass sah dann so aus :
Auf den ersten Blick ist zu sehen das der erstere Textauszug das Wort "Anfangsbestand" enthält, der zweite Textauszug nicht, mithin die Beiden nichts Direktes miteinander zu tun haben und ich deshalb beim besten Willen nicht weiß was wir davon ableiten sollen.


Gruß
Stephan

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von swinit » Mi, 15.04.2015 09:24

Puh aufjedenfall danke für die Antwort :)

Hab die ganze Pdf , wie ich meine bereits geschrieben zu haben, mit nem converter in txt. umgewandelt, leider konnt ich nix finden, dass ich sie direkt von pdf zu csv umwandle, naja und dann halt in calc reingehauen, was ja leider nich viel brachte.....egal, ich versuchs irgendwie weiter, ansonsten muss mein chef wohl oder übel selbst vorgehen und eintippen :D ;) trotzdem danke für die hilfe

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von Stephan » Mi, 15.04.2015 09:16

von mir mal folgende Anmerkungen:

was Karolus zum "vernünftigen Format" sagt ist völlig richtig, der Punkt ist einfach das PDF, an dieser Stelle, die Weiterverarbeitung gravierend erschwert.

Die Frage der Beispieldatei ist (verständlicherweise) wohl auch ein Problem wenn nur das fertige PDF existiert
(denn das ist nicht so einfach zu anonymisieren bzw. es geht ja hier nicht nur um die Datenstruktur sondern evtl. auch um andere Spezifika im PDF die bei einer Nachbearbeitung sich ändern könnten wodurch die Datei dann eigentlich nur noch eingeschränkt als Beispiel taugt)


Das PDF-Format ist, wie schon angedeutet, zu diesem Zweck extrem ungünstig, sollte es sich nur darum handeln eine solche PDF-Datei einmalig konvertieren/einlesen zu müssen könnte man versuchen es auf dem Umweg OCR oder auch eines externen PDF-Konverters zu machen, also erst damit zu txt oder csv wandeln und dann in Calc importieren und bei der Konvertierung möglicherweise entstehende Fehler händisch korrigieren - wobei ich nicht weiß ob das in Summe schneller geht als dass von Karolus vorgeschlagene Abtippen, denn es ist erfahrungsgemäß sehr schwer vereinzelte Fehler beim Durchlesen solcher Datenreihen zu finden.
(ohne ein konkretes Dokument gesehen zu haben ist vorstehende Empfehlung nur etwas was aus Erfahrung und Bauchgefühl resultiert, ich habe keine konkrete Begründung für gerade diesen Weg)

Sollen hingegen dauerhaft immer wieder solche PDF verarbeitet werden müsste man sich das Ganze sehr genau ansehen und sorgfältig die Umsetzung überlegen, denn die Schwierigkeit liegt insbesondere auch darin das bei der Konvertierung einzelne Zeichen/Zahlen verstümmelt/verändert werden und man das im Routinebetrieb zuverlässig ausschließen muss.
Ich würde deshalb Hilfe bei einem Dienstleister suchen, z.B. eine Übersicht zu entsprechenden Dienstleister für OO ist hier:
http://www.openoffice.org/bizdev/consultants.html


Gruß
Stephan

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von swinit » Mi, 15.04.2015 09:07

anbei nochmal ein screenshot, von excel und kommentaren meines chefs :D
Dateianhänge
11153647_10155387038265315_943762449_o.jpg
11153647_10155387038265315_943762449_o.jpg (221.37 KiB) 4055 mal betrachtet

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von swinit » Mi, 15.04.2015 09:03

im prinzip soll es so aussehen :

01.01.2012;30.03.2015;"";"3";"Anfangsbestand Kasse";84,81;1000;9000;0;"";"";"EUR"
01.01.2012;30.03.2015;"";"12010301";"anfangsbestand CoBa";24,99;1200;9000;0;"";"";"EUR"
01.01.2012;30.03.2015;"";"12010501";"EB-Wert";11.636,74;9000;1210;0;"";"";"EUR"
01.01.2012;30.03.2015;"";"12010502";"porto";0,55;4970;1210;0;"";"";"EUR"
01.01.2012;30.03.2015;"";"12010601";"subvert2669";54,39;8401;1220;0;"";"";"EUR"
02.01.2012;30.03.2015;"";"12010302";"subvert2667";19,80;1200;8400;0;"";"";"EUR"
02.01.2012;30.03.2015;"";"12010303";"b+s card";218,25;1200;8409;0;"";"";"EUR"
02.01.2012;30.03.2015;"";"12010303";"b+s card gebühr";7,79;4970;1200;9;"";"";"EUR"

im editor später als csv, um es dann gescheit in lexware reinzuhauen, aaaaber bisher hab ichs nur auf 2 zeilen geschafft, wo leider auch einige teile verschoben worden , dass sah dann so aus :

02.01.2013 04.01.13 996600 001 Einr.Last + 599,14BSCARD SUBVERT.DE Ref.-Nr. 5505548001
Überw./Zahl.-Empf.: BSCARD SUBVERT.DE
02.01.2013 02.01.13 993000 001 SBÜberw. -600,00BLZ:20190003 KTO: 12227501 KD 0020355263 TAN 879333 Datum: 01.01.13 Zeit: 14:29 Privatentnahme
Überw./Zahl.-Empf.: Lux, VolkerBegünst./Zahl.-Pfl.: Volker Lux
02.01.2013 02.01.13 991304 001 DAU-Überw -326,00Miete Lux Neuer Pferdemarkt 32 Souterrain Dauerauftrag: 1
Überw./Zahl.-Empf.: Lux, VolkerBegünst./Zahl.-Pfl.: Abteigrund GmbH & Co KG
02.01.2013 02.01.13 997122 001 Gutschr. + 25,79NR0425670 ECMCRE9511018994 26,74 -SERV 0,80+19% MWST 0,15VU 0425670 REF
Überw./Zahl.-Empf.: B+S CARD SERVICE GMBH Begünst./Zahl.-Pfl.: SUBVERT 02.01.2013 02.01.13 997122 001 Gutschr. + 66,29Überw./Zahl.-Empf.: ANDREAS FISCHER BEI DAUSACK Begünst./Zahl.-Pfl.: SUBVERT STORE 02.01.2013 02.01.13 997122 001 Gutschr. + 109,80Überw./Zahl.-Empf.: FISCHER ANDREAS Begünst./Zahl.-Pfl.: SUBUERT STORE
03.01.2013 03.01.13 997108 001 Gutschr. + 65,63SUBVERT-3294-STORE V-SKATES CHRISTOPH WINTER
Überw./Zahl.-Empf.: CHRISTOPH WINTER Begünst./Zahl.-Pfl.: SUBVERT 03.01.2013 03.01.13 997108 001 Gutschr. + 49,90SUBVERT-3288-STORE Überw./Zahl.-Empf.: STEFANIE HIRT Begünst./Zahl.-Pfl.: SUBVERT 03.01.2013 03.01.13 997110 001 Gutschr. + 45,85SUBVERT-3290-STORE Überw./Zahl.-Empf.: HEIKO SAUER Begünst./Zahl.-Pfl.: SUBVERT
03.01.2013 03.01.13 997110 001 Gutschr. + 32,08SUBVERT-3293-STORE V-SKATES FLORIAN SCHUG
Überw./Zahl.-Empf.: FLORIAN SCHUG Begünst./Zahl.-Pfl.: SUBVERT

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von swinit » Mi, 15.04.2015 08:59

also die bank hat er sowieso glaub ich gewechselt, das sind halt auszüge aus vergangenen jahren, die unbedingt gebucht werden müssen für finanzamt etc....

problem is einfach, egal wie ich es versuche wenn ich die txt.datei bei excel reinhauen will über tabelle aus datei einfügen, kann man ja noch einstellungen vornehmen, wie z.b. felder trennen, semikolon etc.....sieht auch alles nett aus, aber es geht halt nicht, dass eine buchung nur eine zeile beträgt, das müsste man dann doch scheinbar per hand machen, naja ziemlich aufwendig, das lass ich dann auch :D .....ich weiss halt nur von nem kollegen, dass man wenn man z.b python beherrscht, es auch in wenigen schritten programmieren kann.....allerdings müsst ich mich in python erstma reinlesen.....dachte halt hier hätte sonst jemand in der richtung mehr ahnung oder könnte helfen

Re: Aus Buchungsdaten von einer Txt.Datei eine Zeile machen...

von clag » Mi, 15.04.2015 08:24

Hallo swinit,

"Evelyn Tucker" in "Daisy Duck"
und
"Hans Rosenhügel" in "Bugs Bunny"
zu ändern sollte doch nicht so schwer sein :-P


PS
oder auch Karolus Vorschlag umsetzen

Nach oben