AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Problem mit dem Import aus einer csv-Datei in eine StringList
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von Luca Haas · begonnen am 5. Mai 2020 · letzter Beitrag vom 6. Mai 2020
Antwort Antwort
Seite 3 von 3     123   
Luca Haas

Registriert seit: 23. Aug 2017
Ort: Bad Breisig
139 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#21

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

  Alt 5. Mai 2020, 16:01
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.
  Mit Zitat antworten Zitat
Alallart

Registriert seit: 8. Dez 2015
155 Beiträge
 
#22

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

  Alt 5. Mai 2020, 16:28
@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.
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#23

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

  Alt 6. Mai 2020, 09:07
@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).
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#24

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

  Alt 6. Mai 2020, 09:46
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.
[/Offtopic]
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#25

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

  Alt 6. Mai 2020, 11:09
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#26

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

  Alt 6. Mai 2020, 11:30
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).
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 Uhr.
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