Java CSV-Datei auslesen

Tron36

Ensign
Registriert
Jan. 2011
Beiträge
213
Hallo leute,
ich soll um die 20 CSV-dateien auslesen. Ab der 18 Zeile stehen z.b. folgende zahlen Kombinationen:

Code:
14:14:13,7,050501,3,404682,4,909901,3,743071

das 1. zahlenpaar mit : getrennt ist die Uhrzeit, die restlichen Dezimalzahlen mit Komma getrennt. Die frage ist, wie ist es möglich die Zahlenpaare in Excel, zu mindest die "ungerade Kommas" sprich die 1., 2., 3. usw Kommastelle in ein Tab umzuwandeln?

Lg
Tron36
 
Also ich habe jetzt nicht verstanden, was du möchtest. Bitte nochmals Beschreiben.

Zahlenpaare = zwei Zahlen, die zusammengehören
ungerade = 1 3 5 7...
 
Achso - ich glaube ich habe es verstanden:
Uhrzeit 14:14:13
1.Tab: 050501
2.Tab: 404682
Etc...
 
es sind ja verschiedene zahlen da. Die zahlen sind Dezimalzahlen mit Komma, nicht mit punkt getrennt. Die Dezimalzahlen sind wieder voneinander mit Komma getrennt.

Die frage ist halt, wie kann man die Dezimalzahlen voneinander mit einem Tabulator getrennt bzw. in verschiedenen Spalten in einer Exceltabelle eingetragen werden.

lg Tron36
Ergänzung ()

SymA schrieb:
Achso - ich glaube ich habe es verstanden:
Uhrzeit 14:14:13
1.Tab: 050501
2.Tab: 404682
Etc...

ja, nicht ganz. Folgendermaßen:
1. Tab:7,050501
2. Tab: 3,404682
 
Geht es jetzt nur darum, die CSVs anders zu formatieren, von mir aus mit Semikolon getrennt?
Was genau meinst du mit den Tabs? Tabellenblätter von Excel? Spalten?
Nur die Formatierung dementsprechend ändern ginge jedenfalls per batch. oder muss das mit Java sein?

Edit: Ups, den letzten Post nicht gründlich gelesen. Mit FOR in einer batch:
Code:
FOR /F "tokens=1-9 delims=, " %%h in (test.csv) do @echo %%h;%%i,%%j;%%k,%%l;%%m,%%n;%%o,%%p >test2.csv

und dann einfach in Excel einlesen.
 
Zuletzt bearbeitet:
du hast es auf den punkt gebracht. Es soll zumindest anders formatiert werden. Einen Tab sind ja "mehrere" Leerzeichen, was man mit der taste an der Tastatur mit den 2 gegeneinander zeigenden Pfeilen machen kann.
Es muss nicht java sein. Es kann auch batch sein, wobei ich mich damit nicht gut auskenne.


lg Tron36
 
Jo, dann kannst du die CSVs mit der Batch umwandeln, wenn du noch die ersten 17 Zeilen überspringen willst, dann vor tokens noch skip=17 einfügen, dann wird aus
Code:
14:14:13,7,050501,3,404682,4,909901,3,743071
das:
Code:
14:14:13;7,050501;3,404682;4,909901;3,743071

ich seh grad, da ist noch ein Leerzeichen am Schluss, einfach in der batch vor >test2.csv das Leerzeichen entfernen.
Ein mit Semikolon getrenntes CSV wird in Excel dann in verschiedenen Spalten eigelesen.
 
hast du vllt ein ansetzt wie man das mit dem Semikolon machen kann?
 
Der Ansatz ist, du formatierst die entsprechenden CSVs per Batch auf SSemikolon als Trennzeichen, dann öffnest du sie mit Excel.
Und in die Batch schreibst du Folgendes:
Code:
FOR /F "skip=17 tokens=1-9 delims=," %%h in (test.csv) do @echo %%h;%%i,%%j;%%k,%%l;%%m,%%n;%%o,%%p>>test2.csv

test.csv ist hierbei der Dateinname deiner vorhandenen Datei und test2.csv ist der Dateiname der neu formatierten Datei. Ich habe übrigens in Post#5 noch vergessen, zwei mal diese Klammer zu setzen, sonst wird nur eine Zeile gespeichert. So wird immer an die neue Datei angehängt.
 
vielen dank.
kann man es auch an alle dateien auf einmal anwenden und dabei die datei selbst bearbeiten, sprich nicht in die datei2.csv schreiben, sondern die datei1.csv bearbeiten?

lg Tron36
 
Zuletzt bearbeitet:
Zurück
Oben