AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Probleme mit CSV in ADO-Table
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit CSV in ADO-Table

Ein Thema von daredd · begonnen am 24. Feb 2011 · letzter Beitrag vom 24. Feb 2011
Antwort Antwort
daredd

Registriert seit: 2. Apr 2006
433 Beiträge
 
#1

Probleme mit CSV in ADO-Table

  Alt 24. Feb 2011, 16:16
Datenbank: CSV • Version: 1.0 • Zugriff über: ADOtable
Hallo,

ich stecke fest. Nach 2 Std. suche im Web, habe ich es endlich hinbekommen, dass eine CSV-Datei via ADOTable(mit connectionString) im Grid angezeigt wird. Aber leider nicht ganz so wie ich es brauch.
Wenn ich in der Schema.ini, unter Format=CSVDelimited eingebe, wird nur die erste spalte mit den Artikelnummern korrekt angezeit, der Rest wahllos durcheinander mit (-Zeichen im Rest des Grids (adotable).

Wenn ich Fortmat=Delimited(, dann sieht das schon viel besser aus. Nur in einer "Splate" der CSV-Datei sind Modelle (kompatibel zu) aufgelistet, und ausgerechnet mit einem ( getrennt.

In Excel öffnet sich alles normal.

Hier ein paar facts:

Schema.ini:
[data.csv]
Format=CSVDelimited // oder Format=Delimited(
DecimalSymbol=.
ColNameHeader=True
MaxScanRows=0
Col1=ANUMMER Text
Col2=ARTIKEL Text
Col3=ARTIKELSTATUS Text
Col4=HERSTELLER Text
Col5=KLASSE Text
Col6=GRUPPE Text
Col7=HERSTELLERNUMMER Text
Col8=EAN Text
Col9=KOMPATIBEL_ZU Text
Col10=EK_EUR Text
Col11=VK_EUR Text
Col12=KURZTEXT Text
Col13=ARTIKELTEXT1 Text
Col14=ARTIKELTEXT2 Text
Col15=HINWEISTEXT Text
Col16=BILD_NAME Text
Col17=DATENBLATT_NAME Text
Col18=VERFUEGBARKEIT Text
Col19=INTERNET Text
Col20=ENDKUNDE Text
Col21=GEWICHT Text
Col22=URA Text
Col23=URA_PREIS Text
Col24=SPEDITIONSVERSAND Text
Col25=AENDERUNGSDATUM Text
CharacterSet=ANSI


hier ein bissel CSV:

ANUMMER;ARTIKEL;ARTIKELSTATUS;HERSTELLER;KLASSE;GR UPPE;HERSTELLERNUMMER;EAN;GERAETESERIE;KOMPATIBEL_ ZU;EK_EUR;VK_EUR;KURZTEXT;ARTIKELTEXT1;ARTIKELTEXT 2;HINWEISTEXT;BILD_NAME;DATENBLATT_NAME;VERFUEGBAR KEIT;INTERNET;ENDKUNDE;GEWICHT;URA;URA_PREIS;SPEDI TIONSVERSAND;AENDERUNGSDATUM
AN-AB-P084;Adapterkabel FME (f) / FAKRA II (m) Z-Null Cod.,RG 174;Normal;Antenne Bad Blankenburg;Antennen;Adapter / Sonstiges;2305.01;;;;6,7;10,5;;;;;an_ab_p046.jpg;D atenblatt_Adapterkabel.pdf;JA;JA;JA;14;NEIN;;NEIN; 16.07.2010 18:25
AN-BU-Z008;THB Little-Flat Antenne I für GSM 900/1800/CDMA;Normal;Bury Technologies;Antennen;Zubehör;0-23-00-0013-0;4,02303E+12;;;7,73;29,9;Kaum sichtbar von innen und außen passt sich diese Dualbandantenne dem Raum zwischen Scheibe und Dachkante an. Eine flexible Klebefläche sorgt für sicheren Halt an der Innenseite Ihrer Fahrzeugscheibe.;> Highlights<br>- 900/1800 MHz Dualbandfunktion, CE-konform <br>- Kompakte Abmessungen 120 x 22 x 6 mm <br> 2,5 Meter Kabel mit 50 Ohm-FME- Anschluss <br>> Grundeigenschaften<br>- Breite: 120.0 mm<br>- Höhe: 6.0 mm<br>- Tiefe: 20.0 mm<br>- Farbe: Schwarz;;;an_bu_z008.jpg;;JA;JA;JA;65;NEIN;;NEIN;2 2.12.2010 21:49
AN-DL-G010;


wie gesagt, es würde wunderbar mit Format=Delimited( gehen, aber diese verdammten ( unter kompatibel_zu sind das handicap.

thx daredd
---------------------------------------------------------------------------
Mein Vista-Kind bringt frischen Wind

Gruß DaRedd aka The Red Dragon
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Probleme mit CSV in ADO-Table

  Alt 24. Feb 2011, 16:23
Dann hält sich die CSV-Datei nicht an Bei Google suchenRFC 4180
Wieso erwartest du also, dass die korrekt eingelesen werden könnte?

Einfachstes Mittel: Dem Ersteller der CSV-Datei die RFC um die Ohren hauen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Probleme mit CSV in ADO-Table

  Alt 24. Feb 2011, 17:42
Ähh
diese CSV-Dateien sind dummerweise von den Ländereinstellungen abhängig.
Für deutsche Verhältnisse sieht das ganz ordentlich aus, darum kann Excel das ja auch. Und leider ist es ein gern gebrautes Argument, "wenn Excel damit umgehen kann, dann ist das auch in Ordnung"

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
daredd

Registriert seit: 2. Apr 2006
433 Beiträge
 
#4

AW: Probleme mit CSV in ADO-Table

  Alt 24. Feb 2011, 18:02
Das hört sich ja alles grauenvoll an, trotzdem danke.
Kann man vielleicht via Delphi die CSV in eine Excel-Tabelle umwandel und dann weiter rumhantieren? Das wäre so noch das Einzige was ich mir vorstelen kann. Hab das vorher "manuell" so gemacht, dann die Tabelle in eine Access-Datenbank gepackt und nach bearbeitung mit meinem Programm wieder via Access>Excel>CSV oder direkt >CSV

Was meint ihr?
---------------------------------------------------------------------------
Mein Vista-Kind bringt frischen Wind

Gruß DaRedd aka The Red Dragon
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Probleme mit CSV in ADO-Table

  Alt 24. Feb 2011, 18:51
Ich glaube nicht, dass Excel das "einfach so" kann, wie soll das funktionieren? Excel ist ja im Gegensatz zu einem Tableprovider zu nichts verpflichtet und wird ganz einfach irgendetwas halbgares tun (z.B. in der Zeile eine Spalte zufügen oder die Zeile ignorieren), was in einem drittel der Fälle einem (amerikanischen) Benutzer weiterhilft.

Du kannst natürlich mit dem Datenlieferanten sprechen, wie empfohlen.
Ansonsten, die Datei zunächst zu Fuß öffnen und ; zählen. Alle Zeilen mit unpassender Zahl rauswerfen und zurückschicken.
Feldbegrenzer würden hier auch helfen, dann müsste aber wieder der Lieferant ran...
Gruß, Jo
  Mit Zitat antworten Zitat
daredd

Registriert seit: 2. Apr 2006
433 Beiträge
 
#6

AW: Probleme mit CSV in ADO-Table

  Alt 24. Feb 2011, 19:28
ja, ich werde mich am besten mit dem datenlieferanten in verbindung setzen. werde wohl nicht der einzige bleiben mit diesem problem.
---------------------------------------------------------------------------
Mein Vista-Kind bringt frischen Wind

Gruß DaRedd aka The Red Dragon
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Probleme mit CSV in ADO-Table

  Alt 24. Feb 2011, 20:40
Hmm, sehe ich das jetzt richtig, und du hast in deinem CSV-Beispiel keinen Satz drin, der diese Eigenart aufweist?

Sonst gib doch mal (als Dateianhang) einen kleinen Auszug der Datei hier zum Besten, wo dies so ist.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#8

AW: Probleme mit CSV in ADO-Table

  Alt 24. Feb 2011, 21:11
Texte können in CSV in " eingschlossen sein, dann kann eine Spalte auch das Spaltentrennzeichen enthalten:
A;B;"C;D" sind drei Werte A,B und 'C;D'

Wenn die Datei so formatiert wäre, sollte es funktionieren. Und wenn Excel damit umgehen kann, dann kannst Du das auch.

Häng mal so eine Datei an oder versuche den TCSVReader hier im Forum, der ist mittlerweile von DP-Usern getestet und sollte korrekt laufen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:41 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