Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Problem mit dem Import aus einer csv-Datei in eine StringList (https://www.delphipraxis.net/204196-problem-mit-dem-import-aus-einer-csv-datei-eine-stringlist.html)

Luca Haas 5. Mai 2020 15:01

AW: Problem mit dem Import aus einer csv-Datei in eine StringList
 
Danke @Delphi.Narium für die überaus detaillierte Hilfe, allerdings habe ich nun die einzulesende Datei als den Fehler ausfindig machen können.
Mit einer von mir neu erstellten csv-Datei klappt das ganze, von daher denke ich, dass ich die zu importierende Datei alleine anpassen kann.

Alallart 5. Mai 2020 15:28

AW: Problem mit dem Import aus einer csv-Datei in eine StringList
 
@Luca Haas

Ich habe deinen Code nur grob überflogen, und vielleicht wurde das bereits angesprochen (ich habe nicht alle Beiträge gelesen), oder du willst eine andere Lösung, aber warum der Aufwand? Eigentlich ist das Importieren eine CSV-Datei in der Regel Pillepalle. Die Technik beherrscht TStringList von Haus aus. Wobei ganz sauber wird der Import wenn die Felder in Anführungszeichen gesetzt sind.

Jetzt mal auf die Schnelle:

Delphi-Quellcode:
var
  slDatei,
  slDatensatz: TStringList;
  i, k: Integer;
begin
  slDatei := TStringList.Create;
  slDatensatz := TStringList.Create;
  try
    slDatei.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'Adressen.csv');
    slDatensatz.Delimiter := ';';
    for i := 0 to slDatei.Count - 1 do
    begin
      slDatensatz.DelimitedText := slDatei[i];

      for k := 0 to slDatensatz.Count - 1 do
        ShowMessage(slDatensatz[k]);
    end;
  finally
    slDatei.Free;
    slDatensatz.Free;
  end;
end;
Beispieldatei "Adressen.csv"

Code:
"Anrede";"Vorname";"Nachname";"Fima";"Adresse 1";"PLZ";"Ort"
"Frau";"Liselotte";"Müller";"Maier GmbH";"Schwetzingerstr. 7";"81234";"München"
"Herr";"Peter";"Becker ";"Hochbau AG";"Lustigstraße 2";"12345";"Berlin"

In der For-k Schleife muss man die Felder nur noch richtig zuordnen.

Moombas 6. Mai 2020 08:07

AW: Problem mit dem Import aus einer csv-Datei in eine StringList
 
@Alallart: Leider ist nicht jede CSV mit "" ausgestattet. Wir haben hier im Unternehmen mehrere Bereiche wo mit csv gearbeitet wird und einige Hersteller/Firmen übergeben dies leider ohne die "". Also so:
Zitat:

abc;def;ghi;jkl
Aber ich gebe dir Recht, das wenn man Einfluss drauf hat, das mit den "" der wesentlich schönere Weg ist.

@Luca: Wenn das wirklich anfangs nur eine umbenannte Excel-Datei war, glaube ich kaum das beim öffnen im Texteditor da irgendetwas vernünftiges stand. Denn Excel-Dateien sind nun mal generell genommen "nur" Zip-Archive und die lassen sich nicht im Texteditor lesen (nur kryptische Zeichen).

Jumpy 6. Mai 2020 08:46

AW: Problem mit dem Import aus einer csv-Datei in eine StringList
 
Zitat:

Zitat von DeddyH (Beitrag 1463741)
Für viele Menschen gilt die Formel csv = Excel. Vielleicht hat jemand ein Worksheet (*.xls bzw. *.xlsx) einfach in *.csv umbenannt. Dann kann das auch nicht funktionieren.

[Offtopic]
Wir haben auch Kollegen, die bei .xlsx Dateien gerne mal das hintere x in der Dateiendung wegmachen, damit Kunden mit älteren Excel-Versionen das auch öffnen können. :thumb:
[/Offtopic]

p80286 6. Mai 2020 10:09

AW: Problem mit dem Import aus einer csv-Datei in eine StringList
 
Daß man einen Hex-Editor zur Anzege jeder Datei nutzen kann, hat sich wohl immer noch nicht herum gesprochen.
zb:https://mh-nexus.de/de/
oder was ich für den schnellen Blick bevorzuge:https://www.safer-networking.org/de/...ts/filealyzer/

Gruß
K-h

Delphi.Narium 6. Mai 2020 10:30

AW: Problem mit dem Import aus einer csv-Datei in eine StringList
 
Oder Norton Commander: Taste F3.

Diverse Clones/Nachbauten davon haben ebenfalls diese Möglichkeit und werden immernoch weiterentwickelt.

Die neueste, mir bekannte, Version eines dieser Clones ist vom 25.03.2020 und für 32 sowie 64 Bit verfügbar (Windows 95 bis Windows 10).


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz