Wörter filtern beim Import?
Moderator: Moderatoren
-
- ****
- Beiträge: 122
- Registriert: Do, 28.02.2013 12:05
Wörter filtern beim Import?
Anderer Tread: viewtopic.php?f=2&t=61719
(Wie) ist es möglich in Base das ich alles aus einer CSV Datei importiere ausser wenn 2 Wörter enthalten sind?
Ich würde das schon sehr dringend benötigen.
DANKE!
(Wie) ist es möglich in Base das ich alles aus einer CSV Datei importiere ausser wenn 2 Wörter enthalten sind?
Ich würde das schon sehr dringend benötigen.
DANKE!
Re: Wörter filtern beim Import?
Hi,
wie wäre es die Zeilen aus der .csv mit den entsprechenden Worten vor dem Import zu löschen?
Oder die gesamte Datei zu importieren und die entsprechenden Zeilen per Extras/SQL... mit einem SQL-Befehl ala
Gruß R
wie wäre es die Zeilen aus der .csv mit den entsprechenden Worten vor dem Import zu löschen?
Oder die gesamte Datei zu importieren und die entsprechenden Zeilen per Extras/SQL... mit einem SQL-Befehl ala
Code: Alles auswählen
Delete from "Tabelle1" where "Text" = 'Wort1' or "Text" = 'Wort2'
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
-
- ****
- Beiträge: 122
- Registriert: Do, 28.02.2013 12:05
Re: Wörter filtern beim Import?
Ich formuliere es einmal so ich kenne mich mit Base und SQL 0 aus und mir ist es egal wie es funktioniert nur wichtig ist das es funktioniert.
Ich frage mich nur wie ich das mache das ich diesen befehl nutzen kann?
Die CSV Datei befindet sich auf X:

Ich frage mich nur wie ich das mache das ich diesen befehl nutzen kann?
Die CSV Datei befindet sich auf X:
Re: Wörter filtern beim Import?
Nun, du importierst die .csv und führst den SQL Befehl, wie beschrieben, über Extras/SQL ... aus.
Natürlich must Du "Tabelle1" durch den Namen deiner Tabelle, "Text" durch den Namen der entsprechenden Spalte und 'Wort1' sowie 'Wort2' korrekt ersetzen.
Schau mal ins Base Handbuch (weiter unten) denn
Gruß R
Natürlich must Du "Tabelle1" durch den Namen deiner Tabelle, "Text" durch den Namen der entsprechenden Spalte und 'Wort1' sowie 'Wort2' korrekt ersetzen.
Schau mal ins Base Handbuch (weiter unten) denn
sind zwei sehr schlechte Voraussetzungen um mit dem Programm erfolgreich umzugehen.das Board hat geschrieben:... ich kenne mich mit Base und SQL 0 aus ...
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Wörter filtern beim Import?
Das Öffnen der csv-Datei als Datenbank in Base ist einfach. Ich hab dir dazu ein kleines „Bilderbuch“ zusammengestellt (s.u.). Das sollte ohne weitere Worte für sich sprechen und dich bis zu der Stelle lotsen, an der du beliebige SQL-Kommandos absetzen kannst.„das Board“ hat geschrieben:Ich frage mich nur wie ich das mache das ich diesen befehl nutzen kann?
Leider wird dich das – jedenfalls so ohne Weiteres – noch nicht glücklich machen, da Base sich aus nachvollziehbaren Gründen weigert, Sätze aus einer solchen csv-Datenbank zu löschen. Das wusste ich bis dato auch nicht. Riks DELETE … funktioniert hier jedenfalls nicht.
Da ich mit Base nur eingeschränkte Erfahrung habe, wie ich bereits in dem Thread viewtopic.php?f=2&t=61719 angemerkt habe, bin ich an der Stelle mit der Frage aufgeschmissen, wie man mit Base weiterkommt, ohne die csv-Daten zur weiteren Verarbeitung in eine HSQL- oder MySQL-Datenbank zu übernehmen. Ob das überhaupt sinnvoll wäre, wage ich zu bezweifeln. Es geht ja nur darum ein paar hundert Datensätze aus 1,2 Mio. herauszufischen. – Gefragt sind hier also erstmal Base-Insider.
Ich will dich hier aber nochmal auf die Alternativen aufmerksam machen, die ich dir schon in dem Thread viewtopic.php?f=2&t=61719 genannt habe: Die absolut einfachste Methode: Nutzung eines geeigneten Texteditors wie z.B. Notepad++; alternativ: Einsatz einer Skript-Lösung (Perl, Python, …), eventuell als Filter unmittelbar an der Datenquelle. Dagegen ist Calc angesichts des Mengengerüsts von 1,2 Mio. Datensätzen ausgeschieden, da es nur max. 1.048.576 Datensätze aufnehmen kann.
Gruß
lorbass
- Dateianhänge
-
- Inbetriebname einer CSV-Datenbank mit Base.odt
- (373.98 KiB) 192-mal heruntergeladen
Re: Wörter filtern beim Import?
Hallo lorbass,
z.B.: führt im Beispiel anbei zum Löschen von sechs Zeilen.
Gruß R
... da hast Du mich missverstanden, denn ich habe ja geschriebenlorbass hat geschrieben: Riks DELETE … funktioniert hier jedenfalls nicht.
Mit Importieren meine ich, dass die Daten in eine leere .odb eingelesen werden, sich danach innerhalb der eingebetteten HSQL-DB befinden.F3K Total hat geschrieben:Nun, du importierst die .csv und führst den SQL Befehl, wie beschrieben, über Extras/SQL ... aus.
- Dies geht über zwei Wege:
- .csv in Calc öffnen, Tabellenreiter in den Tabellenbereich einer leeren Base-Datei ziehen, der Importdialog folgt, Datentypen vergeben ... Primary Key nicht anlegen
- .csv mit einer Base Datei als Text-DB verknüpfen, zweite leere Base-Datei öffnen, die Tabelle aus der verknüpften Datei in die zweite ziehen, der Importdialog folgt, Datentypen vergeben ... Primary Key nicht anlegen
- Um z.B. die erste Spalte ID als Primary Key Autowert umzuformatieren, einmalig diese SQL-Befehle durchführen:
Code: Alles auswählen
alter Table "Adressen" alter column "ID" INTEGER; alter Table "Adressen" alter column "ID" set NOT NULL; alter Table "Adressen" ADD PRIMARY KEY ("ID"); alter Table "Adressen" alter column "ID" INTEGER GENERATED BY DEFAULT AS IDENTITY
- Ansicht/Tabellen aktualisieren
z.B.:
Code: Alles auswählen
Delete from "Adressen" where "Country" = 'Saudi Arabia' or "Country" = 'Gibraltar'
Gruß R
- Dateianhänge
-
- Adressen.zip
- enthält eine .csv-Datei und eine .odb-Datei in die die .csv importiert wurde.
- (54.46 KiB) 232-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Wörter filtern beim Import?
Ich hab dich schon richtig verstanden, mich offenbar aber falsch ausgedrückt. Ich wollte zum Ausdruck bringen, dass „dein“ DELETE in meinem „Bilderbuch-Vorgehen“F3K Total hat geschrieben:... da hast Du mich missverstanden

Gruß
lorbass
Re: Wörter filtern beim Import?
Hallo lorbass,
Egal, jetzt gibts hier also eine weitere Anleitung.
Gruß Rik
wer lesen kann ist klar im Vorteil, du hast es ja geschrieben.lorbass hat geschrieben:Riks DELETE … funktioniert hier jedenfalls nicht.
Egal, jetzt gibts hier also eine weitere Anleitung.
Gruß Rik
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Wörter filtern beim Import?
... und jetzt kommt der Hammer:
Es ist möglich eine Text-Datei (z.b. .csv) als Datenquelle in eine .odb Datei mit eingebetteter HSQL-DB einzubinden und dann genau wie eine interne Tabelle mit SQL zu bearbeiten.
In einer leeren .odb im selben Ordner wie angehängte Beispieldatei folgende SQL Befehle ausführen:
wurde der Befehl erfolgreich ausgeführt, sieht man, nach einem Absicht/Tabellen aktualisieren, dies:
Die .csv muss wie im zweiten SQL-Befehl beschrieben, UTF-8 kodiert sein, als Feldtrenner einen Tabulator (\t) und das Datum im Format 2013-05-07 haben, dann klappt es. Sicherlich kann man es auch schaffen, den SQL-befehl so anzupassen, dass er auf eine beliebige vorliegende Datei passt.
Wenn man es einmal raus hat, ist dies sicherlich die beste Methode auf eine .csv mit Lese und Schreibrecht, Autowert usw. zuzugreifen.
Gruß R
Es ist möglich eine Text-Datei (z.b. .csv) als Datenquelle in eine .odb Datei mit eingebetteter HSQL-DB einzubinden und dann genau wie eine interne Tabelle mit SQL zu bearbeiten.
In einer leeren .odb im selben Ordner wie angehängte Beispieldatei folgende SQL Befehle ausführen:
Code: Alles auswählen
CREATE TEXT TABLE "Adressen" ("ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,"Name" VARCHAR(255),"Surname" VARCHAR(255),"Date of Birth" DATE,"Phone" VARCHAR(255),"Email" VARCHAR(255),"Street Address" VARCHAR(255),"City" VARCHAR(255),"Postal" VARCHAR(255),"Country" VARCHAR(255));
SET TABLE "Adressen" SOURCE "/Adressen.csv;fs=\t;ignore_first=true;encoding=UTF-8"
Wenn man es einmal raus hat, ist dies sicherlich die beste Methode auf eine .csv mit Lese und Schreibrecht, Autowert usw. zuzugreifen.
Gruß R
- Dateianhänge
-
- Adressen.zip
- enthält eine .csv
- (7.25 KiB) 178-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
-
- ****
- Beiträge: 122
- Registriert: Do, 28.02.2013 12:05
Re: Wörter filtern beim Import?
Kannst du mir bitte erklären was ich da wie ändern muss das es bei mir geht?
Ich habe 4 Spalten:
Name, Hotel, Rate, Preis, Value
Ich habe es geschafft dort die überschüssigen sachen zu ersetzen und so aus 170MB nur mehr 110MB zu machen.
Ich habe 4 Spalten:
Name, Hotel, Rate, Preis, Value
Wieso darf es kein "," sein?als Feldtrenner einen Tabulator
Ja das problem ist wie machen ich es dort?Die absolut einfachste Methode: Nutzung eines geeigneten Texteditors wie z.B. Notepad++
Ich habe es geschafft dort die überschüssigen sachen zu ersetzen und so aus 170MB nur mehr 110MB zu machen.

Re: Wörter filtern beim Import?
Das ist nicht so leicht, stelle hier eine kleine Beispieldatei ein, im leeren Raum geht es nicht.„das Board“ hat geschrieben: Kannst du mir bitte erklären was ich da wie ändern muss das es bei mir geht?
„das Board“ hat geschrieben:Wieso darf es kein "," sein?
Wie es mit einem Komma geht, habe ich noch nicht herausgefunden, für ein Semikolon soll dies funktionieren.F3k Total hat geschrieben:Sicherlich kann man es auch schaffen, den SQL-Befehl so anzupassen, dass er auf eine beliebige vorliegende Datei passt.
Code: Alles auswählen
\t
Code: Alles auswählen
\semi
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Wörter filtern beim Import?
Servus
HSQLDB: Text TablesF3K Total hat geschrieben:Wie es mit einem Komma geht, habe ich noch nicht herausgefunden
The default field separator is a comma (,). A different field separator can be specified within the SET TABLE SOURCE statement.
-
- ****
- Beiträge: 122
- Registriert: Do, 28.02.2013 12:05
Re: Wörter filtern beim Import?
Code: Alles auswählen
"Hotel Name","Brand","Beste Verfügbarkeit - Ab","123EUR","IEAAA"
"#EANF#","#EANF#","#EANF#","#EANF#","IEAAA"
"#EANF#","#EANF#","#EANF#","#EANF#","IEAAA"
"#EANF#","#EANF#","#EANF#","#EANF#","IEAAA"
"#EANF#","#EANF#","#EANF#","#EANF#","IEAAA"
"#EANF#","#EANF#","#EANF#","#EANF#","IEAAA"
"#EANF#","#EANF#","#EANF#","#EANF#","IEAAA"
"#EANF#","#EANF#","#EANF#","#EANF#","IEAAA"
Re: Wörter filtern beim Import?
Was soll denn das bedeuten:
Du bekommst hier so viele Informationen vorgekaut. Da ist dir zuzumuten, dem nachzugehen und (nur) mit konkreten Nachfragen zu kommen. Jürgen
PS. Ich werde mal darüber nachdenken, wie man das csv-Problem ins Base-Handbuch einbauen kann. Es scheint mir ein Fall für "Datenbank-Anbindung" zu sein.
Ein Auszug aus deiner csv-Datei ohne jede Erläuterung, wozu "#EANF#" vorgesehen ist? Soll das ein Ersatz für die folgende Bitte sein?„das Board“ hat geschrieben:Code: Alles auswählen
"Hotel Name","Brand","Beste Verfügbarkeit - Ab","123EUR","IEAAA" "#EANF#","#EANF#","#EANF#","#EANF#","IEAAA"
Was als Beispieldatei zu verstehen ist, steht unter Allgemeine Hinweise zur Forumsbenutzung. In seinem Beitrag von gestern hat F3K gezeigt, wie eine csv-Datei mit einer odb-Datei hochgeladen wird.F3K Total hat geschrieben:Das ist nicht so leicht, stelle hier eine kleine Beispieldatei ein, im leeren Raum geht es nicht.
Du bekommst hier so viele Informationen vorgekaut. Da ist dir zuzumuten, dem nachzugehen und (nur) mit konkreten Nachfragen zu kommen. Jürgen
PS. Ich werde mal darüber nachdenken, wie man das csv-Problem ins Base-Handbuch einbauen kann. Es scheint mir ein Fall für "Datenbank-Anbindung" zu sein.
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
-
- ****
- Beiträge: 122
- Registriert: Do, 28.02.2013 12:05
Re: Wörter filtern beim Import?
Das ist eben ein auszug aus der CSV Datei. Und "#EANF#" bedeutet das nichts extrahiert werden konnte -> zeile löschenEin Auszug aus deiner csv-Datei ohne jede Erläuterung, wozu "#EANF#" vorgesehen ist?