CSV Datei in EXCEL einlesen

Guten Tag,

es wird von einer Zentralen Leittechnik eine Aufzeichnung über Wasserentnahme in eine CSV Datei ausgelagert und sollte in eine EXCEL Datei eingelesen werden.

Das Problem:
Excel ( Version 2003) interpretiert einige Daten die die Wassertemperatur darstellen sollte als Datum und ich finde keine Funktion das zu ändern.
Unter EXCEL 97 hatte man bei Import die Formate noch einstellen können.
Wenn es jemand interressiert kann ich Ihm diese Datei mailen.

Danke Marcela

Datum m³ m³ Tempertaur Tempertaur Tempertaur Tempertaur Abgeschaltet Abgeschaltet
01.05.2007 00:00 863 9430 15.0 15.Mär 27.Mai 28.Aug 0 -50.0
01.05.2007 12:00 148 1611 16.Jun 16.Sep 25.Feb 26.Jän 0 -50.0
02.05.2007 00:00 559 6082 15.Apr 15.Aug 26.0 26.Sep 0 -50.0
02.05.2007 12:00 426 4661 13.Jun 14.Feb 26.Jän 27.0 0 -50.0
03.05.2007 00:00 1263 13916 14.Jul 15.0 27.Aug 28.Feb 0 -50.0
03.05.2007 12:00 388 4277 13.Jän 13.Jul 27.0 27.Jun 0 -50.0
04.05.2007 00:00 1977 21895 14.0 14.Apr 28.Jul 29.Mai 0 -50.0
04.05.2007 12:00 726 8612 12.Mai 12.Feb 28.Feb 28.Sep 0 -50.0
05.05.2007 00:00 3510 39772 13.Sep 14.Feb 29.Aug 30.0 0 -50.0
05.05.2007 12:00 343 3812 12.Mär 12.Apr 26.Jun 27.Mai 0 -50.0
06.05.2007 00:00 2145 23917 14.Mai 14.Aug 27.Mai 28.Apr 0 -50.0
06.05.2007 12:00 24 239 18.0 18.Aug 25.Jun 26.Jän 0 -50.0
07.05.2007 00:00 46 493 19.Mai 20.Jän 25.0 25.Sep 0 -50.0
07.05.2007 12:00 2462 28937 11.Sep 12.Jän 15.Mai 14.Mai 0 -50.0
08.05.2007 00:00 15690 158133 12.0 12.Jän 14.Jän 13.Feb 0 -50.0
08.05.2007 12:00 9648 142855 12.Feb 12.Mär 14.Mär 13.Aug 0 -50.0
09.05.2007 00:00 18265 252330 12.Apr 12.Feb 14.Feb 15.Jän 0 -50.0
09.05.2007 12:00 6425 74719 12.Feb 12.Mär 14.Feb 19.0 0 -50.0
10.05.2007 00:00 20129 109200 12.Mär 12.Aug 14.Feb 13.Feb 0 -50.0
10.05.2007 12:00 17324 37802 12.Mai 12.Apr 16.Mai 15.Apr 0 -50.0
11.05.2007 00:00 33748 153582 12.Jun 12.Mai 14.Mär 13.Mai 0 -50.0
11.05.2007 12:00 14971 49381 12.Jul 12.Mai 18.Mär 17.Jän 0 -50.0
12.05.2007 00:00 29727 173559 12.Jul 12.Jun 14.Sep 14.Feb 0 -50.0
12.05.2007 12:00 13664 92001 12.Aug 12.Jun 16.Aug 15.Sep 0 -50.0
13.05.2007 00:00 26561 216171 12.Sep 12.Jul 14.Apr 13.Jun 0 -50.0
13.05.2007 12:00 12623 60529 12.Sep 12.Aug 17.Jul 16.Aug 0 -50.0
14.05.2007 00:00 25093 184168 12.Sep 12.Aug 15.Jän 14.Mai 0 -50.0
14.05.2007 12:00 12558 123737 13.0 12.Aug 18.Jän 17.Mär 0 -50.0
15.05.2007 00:00 25254 284358 12.Sep 12.Aug 16.0 15.0 0 -50.0
15.05.2007 12:00 7738 154480 14.Mär 12.Sep 14.Mai 13.Jun 0 -50.0
16.05.2007 00:00 8163 356726 13.Mai 13.Jän 14.Mär 14.Mär 0 -50.0
16.05.2007 12:00 197 155972 14.0 13.Feb 15.Mär 14.Mai 0 -50.0
17.05.2007 00:00 2024 373895 13.Jul 13.Jän 14.Mär 13.Mär 0 -50.0
17.05.2007 12:00 223 152337 13.Jul 13.Mär 14.Mai 14.Feb 0 -50.0
18.05.2007 00:00 576 360354 13.Apr 13.Jän 15.0 14.Mai 0 -50.0
18.05.2007 12:00 292 161249 15.Aug 13.Feb 14.Sep 14.0 0 -50.0
19.05.2007 00:00 3040 381796 13.Mai 13.Mär 14.Aug 13.Feb 0 -50.0
19.05.2007 12:00 475 171667 12.Jän 13.Feb 15.Jul 15.Feb 0 -50.0
20.05.2007 00:00 6071 394030 13.Jul 13.Feb 13.Aug 12.Sep 0 -50.0
20.05.2007 12:00 13434 17961 12.Mär 13.Feb 17.Mär 16.Mär 0 -50.0
21.05.2007 00:00 32302 84445 12.Mai 13.Feb 16.Feb 15.0 0 -50.0
21.05.2007 12:00 18949 53582 12.Jun 13.Mär 18.Feb 16.Sep 0 -50.0
22.05.2007 00:00 37114 175968 12.Aug 13.Mär 15.Sep 15.Mär 0 -50.0
22.05.2007 12:00 18301 87907 12.Aug 13.Apr 18.Feb 17.Mai 0 -50.0
23.05.2007 00:00 35476 196174 12.Aug 13.Mär 15.Feb 14.Mai 0 -50.0
23.05.2007 12:00 18374 80468 12.Sep 13.Apr 17.Jul 17.0 0 -50.0
24.05.2007 00:00 35962 202539 13.0 13.Mär 15.Aug 15.0 0 -50.0
24.05.2007 12:00 17824 84869 13.0 13.Jun 18.Jän 17.Apr 0 -50.0
25.05.2007 00:00 35730 161317 12.Sep 13.Apr 16.Jun 15.Aug 0 -50.0
25.05.2007 12:00 17933 81926 13.Jän 13.Mai 18.Jun 18.0 0 -50.0
26.05.2007 00:00 35147 195123 13.Feb 13.Mär 16.0 15.Mär 0 -50.0
26.05.2007 12:00 18477 47330 13.Feb 13.Mai 18.Apr 17.Jul 0 -50.0
27.05.2007 00:00 36718 88917 13.0 13.Jun 15.Mai 14.Sep 0 -50.0
27.05.2007 12:00 18411 34107 13.Jän 13.Jul 17.Jul 17.Feb 0 -50.0
28.05.2007 00:00 36468 75667 13.Jän 13.Jun 15.Jun 15.Jän 0 -50.0
28.05.2007 12:00 18092 36594 13.Jän 13.Jun 16.Jul 16.Jän 0 -50.0
29.05.2007 00:00 33500 85488 14.Mai 13.Feb 14.0 13.Apr 0 -50.0
29.05.2007 12:00 1 154767 13.Jul 13.Feb 14.Jän 17.Sep 0 -50.0
30.05.2007 00:00 95 323544 13.Mär 13.Feb 13.Jun 19.Jän 0 -50.0
30.05.2007 12:00 150 168298 13.Mär 13.Feb 14.Mär 19.Sep 0 -50.0
31.05.2007 00:00 175 388271 13.Mai 13.Mär 14.Jän 13.Feb 0 -50.0
31.05.2007 12:00 164 191156 12.Mai 13.Mär 15.Aug 15.0 0 -50.0

Dieses Problem habe ich häufig, und da es bei bestimmten Daten fast immer auftritt, habe ich imr dafr jeweils kleine Makros geschrieben, die die Sache vereinfachen. Das Prinzip ist jedoch simpel, wenn auch nervig, und das funktioniert bei Excel 2003 genauso wie in den Vorgängerversionen

  • Die csv-Datei in eine txt-Datei umbenennen (das ist der eigentliche Trick dabei).

  • Datei normal öffnen oder mit der Maus in Excel ziehen.

  • Es sollte sich das bekannte Import-Fenster öffnen.

  • Dort die richtige Methode wählen - hier scheint es mit dem Leerzeichen als Trennzeichen zu funktionieren.

  • Nach „Weiter“ die kritischen oder alle Spalten als TEXT deklarieren. Letzteres geht am besten, indem man die erste Spalte markiert, ans Ende scrollt, die Shift-Taste drücke und dabei die letzte Spalte markiert. Dann sind alle „schwarz“.

  • Fertigstellen.

  • Nun hat man alle Daten „roh“ importiert

Nachteil ist, dass nun alle Spalten auch im Dokument als Text formatiert sind. Das muss man ggf. rückgängig machen, da man sonst z.B. Schwierigkeiten hat, Formeln einzugeben.

Soweit der Prozess. Solle es bei Euch allerdings wirklich ausschließlich Werte betreffen, die gelegentlich als Datum erkannt werden, würde ich erst was anderes probieren: Der besagten Spalte einfach wieder das Zellformat „Standard“ geben und gucken, ob die Zahlen noch identisch sind. Hinter einem Datum steckt nämlich nichts weiter als eine Zahl. Heute ist z.B. der 39235. sozusagen. Eventuelle Uhrzeiten verbergen sich im Nachkommateil. 39235,5 ist z.B. heute 12 Uhr mittags. Wen´s genauer interessiert: Hilfe konsultieren oder hier im Archiv nach einem ausführlichen Artikel von mir dazu suchen :wink:

Es gibt andere Fälle, in denen Excel bestimmte Texte als Zahl interpretiert, z.B. E023. Das ist ein Code, den ich eigentlich so importieren will. Aber Excel erkennt das als 1x1023, also als 100000000000000000000000. Damit wird der Wert also total verändert, und dann kann man nur noch den obigen Prozess anwenden.

Schönes Wochenende,
Kristian

Danke für deine Antwort

Dieses Problem habe ich häufig, und da es bei bestimmten Daten
fast immer auftritt, habe ich imr dafr jeweils kleine Makros
geschrieben, die die Sache vereinfachen. Das Prinzip ist
jedoch simpel, wenn auch nervig, und das funktioniert bei
Excel 2003 genauso wie in den Vorgängerversionen

  • Die csv-Datei in eine txt-Datei umbenennen (das ist

der eigentliche Trick dabei).

Habe ich gemacht mit RE Maustaste Umbenennen .TXT

  • Datei normal öffnen oder mit der Maus in Excel
    ziehen.

Wenn ich ÖFFNEN sage oder die Datei in EXCEL ziehe öffnet sie sofort.

  • Es sollte sich das bekannte Import-Fenster öffnen.

Habe ich vorher auch immer gehofft. Öffnet sich aber auch durch das Umbenennen in .TXT nicht.
Das ist glaube ich das große Problem dabei.

  • Dort die richtige Methode wählen - hier scheint es mit dem
    Leerzeichen als Trennzeichen zu funktionieren.

Hatte immer unter der 95 und 97 Version funktioniert.

  • Nach „Weiter“ die kritischen oder alle Spalten als TEXT
    deklarieren. Letzteres geht am besten, indem man die erste
    Spalte markiert, ans Ende scrollt, die Shift-Taste drücke und
    dabei die letzte Spalte markiert. Dann sind alle
    „schwarz“.

  • Fertigstellen.

  • Nun hat man alle Daten „roh“ importiert

Nachteil ist, dass nun alle Spalten auch im Dokument als Text
formatiert sind. Das muss man ggf. rückgängig machen, da man
sonst z.B. Schwierigkeiten hat, Formeln einzugeben.

Soweit der Prozess. Solle es bei Euch allerdings wirklich
ausschließlich Werte betreffen, die gelegentlich als Datum
erkannt werden, würde ich erst was anderes probieren: Der
besagten Spalte einfach wieder das Zellformat „Standard“ geben
und gucken, ob die Zahlen noch identisch sind. Hinter einem
Datum steckt nämlich nichts weiter als eine Zahl. Heute ist
z.B. der 39235. sozusagen. Eventuelle Uhrzeiten verbergen sich
im Nachkommateil. 39235,5 ist z.B. heute 12 Uhr mittags. Wen´s
genauer interessiert: Hilfe konsultieren oder hier im Archiv
nach einem ausführlichen Artikel von mir dazu suchen :wink:

Es gibt andere Fälle, in denen Excel bestimmte Texte als Zahl
interpretiert, z.B. E023. Das ist ein Code, den ich eigentlich
so importieren will. Aber Excel erkennt das als
1x1023, also als 100000000000000000000000. Damit
wird der Wert also total verändert, und dann kann man nur noch
den obigen Prozess anwenden.

Schönes Wochenende,
Kristian

Danke fürt Deine Mühe
Marcela

Habe ich vorher auch immer gehofft. Öffnet sich aber auch
durch das Umbenennen in .TXT nicht.
Das ist glaube ich das große Problem dabei.

Das ist eigenartig. Mir fällt jetzt auch keine Option ein, mit der man das beeinflussen kann.

Dann hilft nur eins: Die CSV-Datei im Texteditor öffnen (entweder direkt mit dem Notepad aus Start/Programme/Zubehör oder per Doppelklick nach Umbenennung in txt), alles markieren und dann in Excel einfügen. Dabei sollte alles in eine einzige Spalte geschrieben werden. Hoffentlich. Bei 100 Zeilen in der Datei sollte die erste also z.B. in B2 stehen, die zweite in B3 … und die letzte in B101. Wenn Excel hier allerdings auch gleich versucht, das auseinanderzupuzzeln …

Ich gehe mal davon aus, dass es ein einer Spalte ist. Dann markierst Du diesen Bereich (sollte nach dem Einfügen schon markiert sein) und gehst im Menü auf „Daten / Text in Spalten…“. Dann kommt MIT SICHERHEIT der besagte Import-Assistent. Von da an würde man den bekannten Prozess anwenden.

Übrigens merkt sich Excel die Importeinstellungen während einer Sitzung. Wenn man also ein zweites Mal einen mehrzeiligen Text z.B. vom Notepad aus in Excel einfügt, wendet Excel die „Text-in-Spalten“-Funktion automatisch mit den letzten Parametern an. Ich persönlich finde das meist störend, weil ich das gar nicht will, und zu allem Überfluss ist es schwierig, Excel das wieder auszutreiben. Nachdem man es geschlossen und wieder geöffnet hat, sind aber wieder die Standardeinstellungen aktiv.

Kristian

Excel ( Version 2003) interpretiert einige Daten die die
Wassertemperatur darstellen sollte als Datum und ich finde
keine Funktion das zu ändern.
Unter EXCEL 97 hatte man bei Import die Formate noch
einstellen können.

Hi Marcela,
gehe mal in die Detailsuche von „Suche & Archiv“ und suche mal im Brett Tabellenkalkulation nach „csv“.
Wenn dir da die 148 Treffer nicht weiterhelfen, melde dich nochmal, dann könnte man über ein kleines Makro reden was das Importieren übernimmt, aber ich bin sicher unter den Treffern der Suche ist das schon dabei.
Btw., poste mal hier so 5 erste Zeilen aus der csv-Datei wie sie ein Editor, Notepad o.ä. „sieht“ und dann wie sie Excel eingefügt hat.
Und wenn du sie tabellenförmig aufbereitest, benutze den Pre-tag, wird unterhalb des Antwortfeldes erläutert.
Gruß
Reinhard

Hallo Kristian

das mit dem einlesen in eine .TXT Datei mit EDITOR funktioniert und wird auch richtig dargestellt ( natürlich ohne Spalten).

Bei dem kopieren nach EXCEL passiert wiederum das EXCEL die Temperaturen als Datum erkennt und diese lassen sich auch in dem Assistenten

>Getrennt
>Semikolon ist Trennzeichen und alle Texterkennungszeichen probiert
>Alle Felder markiert und TEXT gewählt

Hilft nicht das liebe EXCEL besteht auf seinem Datumsformat.
Kann ich Dir die Datei vielleicht mal schicken ?

Danke Marcela

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Sind die Rohdaten in Ordnung?

> Getrennt

Richtig

> Semikolon ist Trennzeichen

Falsch. Muss ein Leerzeichen sein, wenn die Datei so aussieht wie in Deinem ersten Posting

> und alle Texterkennungszeichen probiert

Die kannst Du ignorieren hier, da Du keine Texte drin hast in der CSV-Datei.

> Alle Felder markiert und TEXT gewählt

Richtig, wobei wie gesagt auch ausreicht, die kritischen so einzustellen, hier also die Temperaturen.

Hilft nicht das liebe EXCEL besteht auf seinem Datumsformat.
Kann ich Dir die Datei vielleicht mal schicken ?

Das kannst Du gerne tun, allerdings nicht an die angegebene Adresse, da ich nicht im Büro bin. Deshalb habe ich übrigens auch gerade kein Excel 2003 zur Hand.

Aber ich glaube, das erübrigt sich sowieso. Du hattest ja in Deinem ersten Posting einen Ausschnitt (63 Zeilen) einer solche CSV-Datei eingefügt, richtig? Wenn das so ist kann ich das direkt nehmen.

Achso … oder war das aus dem Excel herauskopiert, nachdem es die Daten umgewandelt hat? Wahrscheinlich. Sonst hätte sich die Frage nämlich gar nicht gestellt, da dort schon Datumsangaben in den Temperaturspalten stehen. Warum wird der Januar eigentlich mit „Jän“ abgekürzt. Was ist das denn für ´ne Sprache, die da eingestellt ist in Windows?

Okay, dann poste bitte nochmal die ersten paar Zeilen der Original-Datei, so wie Reinhard das auch vorgeschlagen hatte. Also im Notepad öffnen, vier, fünf Zeilen oben markieren und einfach hier einfügen.

Dann sehen wir weiter.

Kristian

Nochmal Hallo,

ich hoffe ich störe nicht.

Also die Datei wird von einer ZLT als CSV erstellt und mittels Mail verschickt. Sollte dann in EXcel eingelesen, in Listenform ausgedruckt und zur Überprüfung abgelegt werden. Nachdem ich hier ordentliche Probleme haben kann es auch ein anderes Programm sein. Die Daten werden nicht mehr verändert.

CSV in Editor geöffnet:
2007.05.01 00:00;863;9430;15.0;15.3;27.5;28.8;0;-50.0
2007.05.01 12:00;148;1611;16.6;16.9;25.2;26.1;0;-50.0
2007.05.02 00:00;559;6082;15.4;15.8;26.0;26.9;0;-50.0
2007.05.02 12:00;426;4661;13.6;14.2;26.1;27.0;0;-50.0
2007.05.03 00:00;1263;13916;14.7;15.0;27.8;28.2;0;-50.0
2007.05.03 12:00;388;4277;13.1;13.7;27.0;27.6;0;-50.0
2007.05.04 00:00;1977;21895;14.0;14.4;28.7;29.5;0;-50.0
2007.05.04 12:00;726;8612;12.5;12.2;28.2;28.9;0;-50.0

Ich habe vorher auch schon im Brett Tabellenkalkulation gesucht aber nicht wirklich was gefunden.

Danke Marcela

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Alles zurück,

Danke an alle, habe das Problem gerade gelöst. Kleines Makro mit Datei Import geschrieben und jetzt funktioniert es.

An alle liebe Grüße

Marcela

Alles zurück,

Danke an alle, habe das Problem gerade gelöst. Kleines Makro mit Datei Import geschrieben und jetzt funktioniert es.

An alle liebe Grüße

Marcela

CSV in Editor geöffnet:
2007.05.01 00:00;863;9430;15.0;15.3;27.5;28.8;0;-50.0

Achso, das hättest Du gleich posten sollen :wink: Also die Daten sind in Ordnung, werden aber leider mit der Englischen Punktuation ausgegeben, fast jedenfalls. Das Blöde ist, dass eben der Dezimalpunkt verwendet wird und nicht das Komma. Das Datum ist in Englischer Reihenfolge, aber mit Punkten. Hätten wenigstens / sein können :wink: Aber egal, Excel erkennt das auch so.

In diesem Falle war das Semikolon also doch richtig. Die Texterkennungszeichen sind hingegen trotzdem völlig Wurst. Und wenn wirklich die Temperatur-Spalten auf TEXT gesetzt wurden beim Importieren, kann Excel das nicht ins Datumsformat konvertieren. Das geht nicht, da bin ich mir sicher. Sonst könnte man sich diese Option nämlich sparen, und ich habe sie hundertmal erfolgreich benutzt :wink:

Aber wenn Dein Makro nun spielt, ist ja alles in Ordnung.

Kristian

Hallo Kristian,

Du hast mir sehr geholfen, denn durch die diversen Gedankenansätze ( Text usw.) geht man das Problem von einer anderen Seite an.

Nochmals recht herzlichen Dank

Marcela

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke an alle, habe das Problem gerade gelöst. Kleines Makro
mit Datei Import geschrieben und jetzt funktioniert es.

Moin Marcela,
wenn dereinst mal jemand mit gleichem Problem kommt, würde er/sie sich sicher sehr freuen, dein Lösungsmakro hier zu lesen.
Gruß
Reinhard

Ziel erreicht :wink: � � o.w.T.
o.w.T.