Hi ihr,
ich habe eine .001-datei, die ich gern auslesen und in eine datenbank schreiben würde.
.001-dateien werden uns von einem großhändler zugeschickt, der uns regelmäßig updates einer maerialliste zuschickt.
kann man dafür etwas in python schreiben, um das vollautomatisch ablaufen zu lassen?
ich habe mir gedacht, ich versuchs erst einmal mit nur der .001
Material aus einer .001-Datei in eine Datenbank übertragen
- noisefloor
- User
- Beiträge: 4208
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
001 dürfe die erste von X Dateien eines split archivs sein. Was ist mit den anderen Dateien? Die brauchst die normalerweise, um alle Daten zu bekommen.
Gruß, noisefloor
001 dürfe die erste von X Dateien eines split archivs sein. Was ist mit den anderen Dateien? Die brauchst die normalerweise, um alle Daten zu bekommen.
Kennst du die Datenstruktur, die die Daten in der Datei haben.kann man dafür etwas in python schreiben, um das vollautomatisch ablaufen zu lassen?
Gruß, noisefloor
ich habe erst mal nur die erste .001 datei bekommen. wollte damit anfangen.
die preisliste von cordes & gräfe z.B. (großhändler für rohre und zwangen und so ....)
die erste .001, die ich hab, sieht (gekürzt) so aus:
die kann ich zwar mit python laden und splitten usw., aber ich möchte gern, die informationen, die in einer zeile stehen,
herausfinden.
schlußendlich ist mein ziel,die ankommenden datensätzen .001, .002, .... zusammenzufügen, um meine materialliste auf meinem handy dann regelmäßig automatisch upzudaten zu können. Also quasi eine automatische Preispflege für mein handy.
bin aber super neu auf dem gebiet und weiß auch nicht wie ich anfangen soll
die preisliste von cordes & gräfe z.B. (großhändler für rohre und zwangen und so ....)
die erste .001, die ich hab, sieht (gekürzt) so aus:
Code: Alles auswählen
V 081017GC - Datenservice DATANORM 4.0 /T/S/L Preispflege Kd-Nr.: 140/00XXXX (c) Cordes & Graefe Emden KG 04EUR
K;;006043; ;
C;;TERMIN-1;08102017;
P;A;RG604030;1;3370;1;4800;;;;;RG6211420G1;1;4390;1;4800;;;;;RG6211420U1;1;3210;1;4800;;;;;
P;A;RG6211426G1;1;5050;1;4800;;;;;RG6213920G1;1;5570;1;4800;;;;;RG6213920U1;1;4130;1;4800;;;;;
P;A;RG6213926U1;1;4710;1;4800;;;;;RG6216820U1;1;4980;1;4800;;;;;RG6216826U1;1;5700;1;4800;;;;;
P;A;RG621920U1;1;6500;1;4800;;;;;RG622120G1;1;1170;1;4800;;;;;RG6221929U1;1;8230;1;4800;;;;;
P;A;RG6221930U1;1;8980;1;4800;;;;;RG622620G1;1;1300;1;4800;;;;;RG6227330U1;1;12540;1;4800;;;;;
P;A;RG623320G1;1;1380;1;4800;;;;;RG623332U1K320;1;5840;1;4800;;;;;RG623525G1K320;1;7650;1;4800;;;;;
P;A;RG623525U1K320;1;5950;1;4800;;;;;RG623530G1K320;1;8120;1;4800;;;;;RG624220G1;1;1690;1;4800;;;;;
(...)
P;A;QNG32750DPTG;1;9240;1;3600;;;;;QEP10426988ET;1;1450;1;0;;;;;WEEE24P;1;30;1;0;;;;;
P;A;WEEE24P;2;30;;;;;;;WEEE32P;1;40;1;0;;;;;WEEE32P;2;40;;;;;;;
P;A;WEEE16P;1;25;1;0;;;;;WEEE16P;2;25;;;;;;;WEEE8P;1;15;1;0;;;;;
P;A;WEEE8P;2;15;;;;;;;WEEE1L;1;25;1;0;;;;;WEEE4L;1;100;1;0;;;;;
P;A;WEEE3L;1;75;1;0;;;;;WEEE2L;1;50;1;0;;;;;WEEE1;1;22;1;0;;;;;
P;A;WEEE1;2;22;;;;;;;WEEE18;1;18;1;0;;;;;WEEE18;2;18;;;;;;;
P;A;WEEE2;1;44;1;0;;;;;WEEE2;2;44;;;;;;;WEEE3;1;66;1;0;;;;;
P;A;WEEE3;2;66;;;;;;;WEEE78;1;78;1;0;;;;;WEEE78;2;78;;;;;;;
P;A;WEEE4;1;88;1;0;;;;;WEEE4;2;88;;;;;;;WEEE1P;1;20;1;0;;;;;
P;A;WEEE1P;2;20;;;;;;;WEEE2P;1;35;1;0;;;;;WEEE2P;2;35;;;;;;;
P;A;WEEE3P;1;55;1;0;;;;;WEEE3P;2;55;;;;;;;WEEE4P;1;70;1;0;;;;;
P;A;WEEE4P;2;70;;;;;;;WEEE1SH;1;13;1;0;;;;;WEEE1SH;2;13;;;;;;;
P;A;DNREF34717;1;34717;;;;;;;;;;;;;;;;;;;;;;;;;
herausfinden.
schlußendlich ist mein ziel,die ankommenden datensätzen .001, .002, .... zusammenzufügen, um meine materialliste auf meinem handy dann regelmäßig automatisch upzudaten zu können. Also quasi eine automatische Preispflege für mein handy.
bin aber super neu auf dem gebiet und weiß auch nicht wie ich anfangen soll

rausfinden möchte ich, für WELCHES MATERIAL neue informationen (z.b. anderer preis als vorher) vorgesehen ist.
wenn irgendwie ne stichsäge jetzt nicht mehr 50 sondern 53 euro kostet, dann ist das doch in einer zeile enthalten, die dann als
update neu gespeichert werden kann, oder nich???
wenn irgendwie ne stichsäge jetzt nicht mehr 50 sondern 53 euro kostet, dann ist das doch in einer zeile enthalten, die dann als
update neu gespeichert werden kann, oder nich???
nach kpr hab ich mal nach DATANORM 4.0 gegooglelt.
http://hilfe.comtech.at/ce/773/HTML/ind ... _datei.htm
ich betrachte die erste update zeile meiner .001-datei:
demnach sind die einzelnen felder mit einem ; voneinander getrennt.
P = Satzartenkennzeichen (ist also ein P-Satz)
A = Verarbeitungskennzeichen (Änderung des Preises)
RG604030 = Artikelnummer (die Artikelnummer finde ich schon mal nicht, keine ahnung welches material hier gemeint ist [bohrmaschine,
handfeger, ????, keine ahnung])
1 = Preiskennzeichen: Bruttopreis
3370 = Preis (6 Vorkomma, 2 Nachkommastellen) heißt das 3370 EURO?
1 = Rabattkennzeichen (es gibt also hier auch einen rabatt
)
4800 = Rabatt
nach einem weiteren ; dann das letzte feld:
;;;; = leeres feld, das nicht benötigt wird
UND vorher wird dort erklärt, dass einzelne FELDER durch ein ; voneinander getrennt sind. wenn man
weiter liest, werden die FELDER irgendwie auf einmal als STELLEN (1. stelle, 2. stelle, ...) bezeichnet. hääääää? was denn jetzt???
mir ist das noch nicht ganz deutlich, vor allem gibt es einen artikel mit der artikelnummer RG604030 gar nicht? jedenfalls finde ich bei google keinen.
versteh ich nich
http://hilfe.comtech.at/ce/773/HTML/ind ... _datei.htm
ich betrachte die erste update zeile meiner .001-datei:
Code: Alles auswählen
P;A;RG604030;1;3370;1;4800;;;;;RG6211420G1;1;4390;1;4800;;;;;RG6211420U1;1;3210;1;4800;;;;;
P = Satzartenkennzeichen (ist also ein P-Satz)
A = Verarbeitungskennzeichen (Änderung des Preises)
RG604030 = Artikelnummer (die Artikelnummer finde ich schon mal nicht, keine ahnung welches material hier gemeint ist [bohrmaschine,
handfeger, ????, keine ahnung])
1 = Preiskennzeichen: Bruttopreis
3370 = Preis (6 Vorkomma, 2 Nachkommastellen) heißt das 3370 EURO?
1 = Rabattkennzeichen (es gibt also hier auch einen rabatt

4800 = Rabatt
nach einem weiteren ; dann das letzte feld:
;;;; = leeres feld, das nicht benötigt wird
UND vorher wird dort erklärt, dass einzelne FELDER durch ein ; voneinander getrennt sind. wenn man
weiter liest, werden die FELDER irgendwie auf einmal als STELLEN (1. stelle, 2. stelle, ...) bezeichnet. hääääää? was denn jetzt???
mir ist das noch nicht ganz deutlich, vor allem gibt es einen artikel mit der artikelnummer RG604030 gar nicht? jedenfalls finde ich bei google keinen.
versteh ich nich

- noisefloor
- User
- Beiträge: 4208
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
wenn du auf die Seite von Datanorm gehst findest du auch relativ schnell einen Link auf ein Buch, was man kaufen kann, in dem die volle Datanorm Spez beschrieben ist. Was die Vermutung seeeeehr nah legt, dass die voll Norm nirgendwo öffentlich dokumentiert ist. Sprich, wenn du weiter kommen willst, wirst du wohl um den Kauf des Buchs nicht umhin kommen.
Gruß, noisefloor
wenn du auf die Seite von Datanorm gehst findest du auch relativ schnell einen Link auf ein Buch, was man kaufen kann, in dem die volle Datanorm Spez beschrieben ist. Was die Vermutung seeeeehr nah legt, dass die voll Norm nirgendwo öffentlich dokumentiert ist. Sprich, wenn du weiter kommen willst, wirst du wohl um den Kauf des Buchs nicht umhin kommen.
Gruß, noisefloor
- noisefloor
- User
- Beiträge: 4208
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
das ist bei so Normen gängige Praxis, dass das nicht unbedingt offen dokumentiert ist, ja. Zumal die Norm ja lt. Beschreibung darauf abzielt, in Software eingesetzt zu werden, die speziell für das Handwerk programmiert wurde.
Gruß, noisefloor
das ist bei so Normen gängige Praxis, dass das nicht unbedingt offen dokumentiert ist, ja. Zumal die Norm ja lt. Beschreibung darauf abzielt, in Software eingesetzt zu werden, die speziell für das Handwerk programmiert wurde.
Gruß, noisefloor
- noisefloor
- User
- Beiträge: 4208
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
dann viel Spaß beim Reverse-Engineering
Gruß, noisefloor
dann viel Spaß beim Reverse-Engineering

Gruß, noisefloor