Ergänzung einer Datei mittels Werten aus einer anderen
Werner
- software
Hallo,
ich habe eine Datei der Art
a1,b1,c1,xx,d1
a2,b2,c2,xx,d2
a3,b3,c3,xx,d3
...
am,bm,cm,xx,dm
und eine zweite mit den zu c1,c2,.... gehörigen Werten
c1,Wert1
c2,Wert2
...
cn,Wertn
n >> m.
Ich möchte nun die xx jeweils ersetzen durch den zu ci gehörigen Wert.
Gibt es hierzu Utilities?
Ich habe leider keine Ahnung von der Programmierung, um so etwas selbst zu realisieren.
Mahlzeit Werner,
bei den beiden Dateien handelt es sich um klassische Komma-(oder anderes Trennzeichen)-separierte Dateien (CSV, TSV)?
Dann hast Du im Prinzip eine tabellarische Struktur und kannst diese Daten in ein beliebiges Datenbanksystem importieren - denn ein solches würde Dir relativ problemlos genau die Funktionalität bieten, die Du brauchst.
ich habe eine Datei der Art
a1,b1,c1,xx,d1
a2,b2,c2,xx,d2
a3,b3,c3,xx,d3
...
am,bm,cm,xx,dm
... würde z.B. zu einer Tabelle1:
SpalteA | SpalteB | SpalteC | SpalteWert | SpalteD
--------+---------+---------+------------+--------
a1 | b1 |c1 | xx | d1
a2 | b2 |c2 | xx | d2
a3 | b3 |c3 | xx | d3
und eine zweite mit den zu c1,c2,.... gehörigen Werten
c1,Wert1
c2,Wert2
...
cn,Wertn
... würde z.B. zu einer Tabelle2:
SpalteC | SpalteWert
---------+------------
c1 | Wert1
c2 | Wert2
Ich möchte nun die xx jeweils ersetzen durch den zu ci gehörigen Wert.
... könnte man sehr einfach z.B. durch eine entsprechende Abfrage hinbekommen:
UPDATE Tabelle1 t1
SET t1.SpalteWert = (SELECT t2.SpalteWert FROM Tabelle2 t2 WHERE t2.SpalteC = t1.SpalteC)
(ggf. auch ähnlich oder besser - das kommt auf das verwendete DBMS an)
MfG,
EKKi
Hi,
bei den beiden Dateien handelt es sich um klassische Komma-(oder anderes Trennzeichen)-separierte Dateien (CSV, TSV)?
Ja.
Aber ein Datenbanksystem habe ich nicht zur Verfügung.
Gruß
Werner
Mahlzeit Werner,
Aber ein Datenbanksystem habe ich nicht zur Verfügung.
Nicht mal Access, OpenOffice.org Base oder so etwas wie SQLite?
Ansonsten musst Du halt genau das, was ein Datenbanksystem Dir bietet (nämlich in Datenmengen anhand verschiedener Kriterien Daten auszulesen, miteinander zu verknüpfen bzw. zu manipulieren), selbst nachbauen ...
MfG,
EKKi
Hu,
Nicht mal Access, OpenOffice.org Base oder so etwas wie SQLite?
Habe jetzt OpenOffice.org Base installiert und
- in einem Ordner mydb eine neue Datenbank mydb.odb angelegt
- wie beschrieben meine beiden Text-Dateien mit OpenOffice.org Calc in
Tabellen umgewandelt und im obigen Ordner mydb alt t1.dbf bzw. t2.dbf
gespeichert
Wenn ich jetzt in der Datenbank eine Abfrage erzeugen will, werden in dem Fenster, in dem ich die Tabelle(n) auswählen soll, die beiden Tabellen nicht angezeigt.
Was ist da noch falsch gelaufen?
Gruß
Werner
In diesem Fall geht das auch mit einer einfachen Batchdatei:
@ECHO OFF
TYPE NUL > Output.txt
FOR /F "tokens=1,2,3,4,5 delims=, " %%I IN (input_m.txt) DO call :loop %%I %%J %%K %%L %%M
GOTO ende
:loop
FOR /F "tokens=2 delims=, " %%N IN ('TYPE input_n.txt ^| FIND "%3"') DO ECHO %1,%2,%3,%%N,%5 >> Output.txt
GOTO :eof
:ende