Hi, ich habe ca. 6 Millionen Messwerte mit Semikolon getrennt in einer .txt gespeichert werden. Wenn ich dann mit Excel die Datei öffnen will, fragt er nach Formatierung. Leider wird es nur in die erste Zeile reingeschrieben. Sodass er also auf eine große Spaltenanzahl angewiesen ist. Dazu habe ich 2 Fragen: 1.Besteht die Möglichkeit, irgendwelche Einstellungen in Excel vorzunehmen, damit er die Daten nur in Spalte 1 schreibt? (Excel kann ja mehr Zeilen als Spalten.) 2.Kann man irgendwelche Einstellungen vornehmen um die Spaltenanzahl zu vergrößern?
:
Verschoben durch User
Excel macht eh bei 65535 Zeilen dicht, vergiß Excel. Nimm eine Datenbank.
Excel ist bezüglich der Anzahl Felder begrenzt. Für solche Datenmengen verwende ich ein pythonscript, mit dem man mittels libs auf Tabellendaten zugreifen kann. Alternativen wären auch teapot oder Datenauswerteprogramme. Gruss Robert
Joachim Drechsel schrieb: > Excel macht eh bei 65535 Zeilen dicht, vergiß Excel. schön das die leute ihr wissen nicht mal updaten: http://de.wikipedia.org/wiki/Microsoft_Excel [...] Seit Excel 2007 kann ein Tabellenblatt 1.048.576 Zeilen und 16.384 Spalten (A bis XFD), also 17.179.869.184 Zellen umfassen. Davor war die Größe auf 65.536 Zeilen und 256 Spalten (A bis IV), also 16.777.216 Zellen, begrenzt. Ist in jedem dieser Felder eine Ziffer eingetragen, so hat eine Datei in Office 2003 eine Größe von 227 MB. [...] > Nimm eine Datenbank. richtig, soetwas macht man nicht mit Excel
Peter II schrieb: > Seit Excel 2007 kann Ich habe E2000 - Du glaubst doch nicht, daß ich mir wegen so etwas noch Geld aus den Rippen schneide ;-)
Joachim Das ist auch gar nicht nötig, denn Openoffice und Libreoffice gibt es umsonst.
tex schrieb: > Joachim > Das ist auch gar nicht nötig, denn Openoffice und Libreoffice gibt es > umsonst. und damit kann man also excel datein mit mit so vielen zeilen erzeugen - das will ich sehen?
@Peter Und was hält Dich davon ab, es zu sehen oder auszuprobieren? Die Unfähigkeit 6Mio Mal eine Zufallszahl produzieren und in die jeweils nächste Zeile schreiben zu lassen oder die Unkenntnis der Tastenfunktionen Strg + C, STRG + V, STRG + Cursortaste
tex schrieb: > Und was hält Dich davon ab, es zu sehen oder auszuprobieren? wenn das Excel-Datei-Format nicht mehr als 65535/1.048.576 zeilen speichern kann, dann braucht ich es nicht auzuprobieren.
... und wehe, Excel verdächtigt ein Datum, ein Datum zu sein :-)))
Peter II schrieb: > und damit kann man also excel datein mit mit so vielen zeilen erzeugen - > das will ich sehen? Gern!
Norbert schrieb: > Peter II schrieb: >> und damit kann man also excel datein mit mit so vielen zeilen erzeugen - >> das will ich sehen? > > Gern! das ist aber keine Excel-Datei.
Wenn Du einen homogenen Datenblock einliest, versucht Excel natürlich diesen in eine Zeile zu packen - und bekommt dicke Backen. Wenn Du also unbedingt diesen Brocken einlesen willst, so musst Du, am Besten mit einem kleinen Script, alle (z.B.) 500 Werte das Semikolon durch einen Zeilenumbruch ersetzen. Den Block kannst Du dann über die Importfilter einlesen. Ob sich so etwas allerdings vernünftig in Excel bearbeiten lässt, ist eine andere Frage.
Peter II schrieb: > Norbert schrieb: >> Peter II schrieb: >>> und damit kann man also excel datein mit mit so vielen zeilen erzeugen - >>> das will ich sehen? >> >> Gern! > > das ist aber keine Excel-Datei. Das stimmt, das ist ein Bild. ;-) 'Speichern unter' bietet mir einen ganzen Sack voller Excel Formate an: Excel 5.0 95 97 2000 XP 2003 2007 und Pocket
Norbert schrieb: > 'Speichern unter' bietet mir einen ganzen Sack voller Excel Formate an: > Excel 5.0 95 97 2000 XP 2003 2007 und Pocket dann speicher doch mal 6Mil zeilen in einem Excel format.
Peter II schrieb: > tex schrieb: >> Joachim >> Das ist auch gar nicht nötig, denn Openoffice und Libreoffice gibt es >> umsonst. > und damit kann man also excel datein mit mit so vielen zeilen erzeugen - > das will ich sehen? Die Daten liegen laut OP in einer txt-Datei und dass sie unbedingt in eine xls(x)-Datei landen müssen, kann ich nirgends sehen.
Egal in welchem Excel Datenformat. Nur wichtig ist, dass ich alle 6Millionen Werte in separaten Zellen, am liebsten in einer Spalte abspeichern kann.
conchulio schrieb: > Egal in welchem Excel Datenformat. > Nur wichtig ist, dass ich alle 6Millionen Werte in separaten Zellen, am > liebsten in einer Spalte abspeichern kann. Aus deinem Post ging leider nicht hervor welches OS du verwendest. Sollte es etwas Linux-ähnliches sein, so kannst du die Quelldatei sehr einfach per Kommandozeile umformen und zB 600.000 Zeile je 10 Werte anordnen. Diese Datei könntest du problemlos importieren. Bei Win kann ich dir leider nicht helfen.
Mir wäre schon sehr geholfen, wenn jemand ne Möglichkeit wüsste, wie ich Excel dazu beweg es in Spalte 1 zu schreiben, anstatt in Zeile 1. Hinter jedem Wert steht ein Semikolon wie schon erwähnt. Hier nochmal als Bild:
Sorry, versehentlich 2x die gleiche Datei hochgeladen. [Anm. Mod.: Hab eine davon gelöscht]
Wenn die oben gemachte Angabe von maximal 1.048.576 Zeilen pro Excel-Sheet stimmen, Du unter Windoof und Excel arbeiten willst oder musst, bleibt Dir nur die Umformung übrig. Kleb' Dir doch einfach ein einfachst Basic-, Pascal- oder C-Programm zusammen und brech die Datei so um, dass Du unter den maximalen Zeilenanzahl bleibst. Natürlich gibt es 'nen Haufen Programme die das alles viel Besser können, aber ich unterstelle mal das Du dich mit Excel auskennst und da wäre das erlernen eines anderen Programms echt übertrieben. Immer vorausgesetzt, Du kannst Excel und das Ganze ist eine einmalige Angelegenheit.
amateur schrieb: > Wenn die oben gemachte Angabe von maximal 1.048.576 Zeilen pro > Excel-Sheet stimmen, Du unter Windoof und Excel arbeiten willst oder > musst, bleibt Dir nur die Umformung übrig. Wobei man bei der Umformung schon ein wenig weiter denken sollte, weil man die Werte ja ueblicherweise nicht nur "in Excel haben" will, sondern mit Ecxel damit weitere Berechnungen machen. Also sollte man die als erstes so umformen, wie es spaeter die gewuenschten Berechnungen erleichtert. Wenn allerdings zu jedem Wert zwei weitere berechnete hinzukommen, dann ist mit Excel schon wieder Ende. (3*6 Mio = 18 Mio groesser: Peter II schrieb: > also 17.179.869.184 Zellen fonsana
Hier eine kleine Übersicht der Tabellengrössen: http://en.wikipedia.org/wiki/List_of_spreadsheet_software#Specifications
Excel kann .csv importieren. Leider BESITZT der TS conchulio nur Excel2000 wodurch bei 65535 Zeilen Feierabend ist. Also besser DB benutzen oder mühsam 6 Millionen Daten Häppchenweise a 65000 je Tabelle zuerstückeln und anschließend auf eine Tabelle verdichten falls schöne Grafik gebraucht wird? Oder http://www.openoffice.org/de/doc/faq/
>Mir wäre schon sehr geholfen, wenn jemand ne
Versuch mal beim Import NICHT das Semikolon an Trenner anzugeben. Ich
weiß allerdings nicht, ab wann EINE Zelle "dicke" Backen bekommt. Du
versuchst ja schließlich Megabytes in eine zu packen.
Noch eine verwegene Idee: Wenn ich mir die Messwerte so ansehe, bleiben diese immer für eine Anzahl die Gleichen. Schreib doch ein kleines script das den Wert in der ersten Spalte und dessen Wiederholung in der zweiten angibt. Also z.B.: 013;013;013;013;013;013;013;013;013;013;239;239;239;239;239;239;239;... zu:
1 | 013 10 |
2 | 239 7 |
>Noch eine verwegene Idee
Unser Freund scheint eine nicht zu überwindende Allergie gegen "ein
kleines Script" zu haben, sonst hätte er sein Problem schon längst
gelöst.
oszi40 schrieb: > Excel kann .csv importieren. > > Leider BESITZT der TS conchulio nur Excel2000 wodurch bei 65535 Zeilen > Feierabend ist. Also besser DB benutzen oder mühsam 6 Millionen Daten Ich hatte bis jetzt meine Excelversion noch nicht erwähnt. Es ist 2010, sodass also: Peter II schrieb: > 1.048.576 Zeilen und 16.384 > Spalten (A bis XFD), also 17.179.869.184 Zellen umfassen zur Verfügung stehen. Ich habe kein Problem damit wenn ich die 6Millionen Werte auf 6 Excel Dateien verteilen müsste. Es bleibt aber immer noch das Problem, dass Excel beim öffnen der geposteten .txt mir nur Spaltenweise darstellen anbietet.
conchulio schrieb: > Es bleibt aber immer noch das Problem, dass Excel beim öffnen der > geposteten .txt mir nur Spaltenweise darstellen anbietet. öffne die Datei mit einem Editor -> suche/ersetze ";" durch [ENTER] kann doch wohl nicht so schwer sein.
Wenn Du versuchst die Datei via Öffnen->"Als Textdatei" reinzukriegen, wirst Du mit Sicherheit nicht glücklich. Ich habe hier nur eine Excel-Antiquität und kann es deshalb nicht "vormachen", aber Du solltest zumindest den Versuch machen die Datei zu "Importieren".
Der ganze Thread ist ein wunderschönes Beispiel für die Möglichkeiten versch. Betriebssysteme. Such dir jemanden mit einem Linux System und dann:
1 | cat indatei | tr ";" "\n" | split --lines=600000 --numeric−suffixes |
Fertig...
Was soll denn mit den Daten geschehen, nachdem sie im Excel-Format — möglicherweise auf mehrere Dateien verteilt — gespeichert worden sind? Selbst wenn du das mit irgendwelchen Tricks schaffst, ist ja noch lange nicht gesagt, dass Excel diese große Datenmenge in akzeptabler Zeit zu irgendetwas weiterverarbeiten kann. Excel ist eben ein Spreadsheet-Programm und kein Datenanalyse-Tool.
Yalu X. schrieb: > Was soll denn mit den Daten geschehen, nachdem sie im Excel-Format — > möglicherweise auf mehrere Dateien verteilt — gespeichert worden sind? > > Selbst wenn du das mit irgendwelchen Tricks schaffst, ist ja noch lange > nicht gesagt, dass Excel diese große Datenmenge in akzeptabler Zeit zu > irgendetwas weiterverarbeiten kann. > > Excel ist eben ein Spreadsheet-Programm und kein Datenanalyse-Tool. Ich wollte die Daten graphisch darstellen und 1x noch umrechnen.
conchulio schrieb: > Ich wollte die Daten graphisch darstellen und 1x noch umrechnen. Wenn du mit irgendeiner Tabellenkalkulation eine Grafik aus 6*10^6 Daten generieren willst ohne sie vorher angemessen zu reduzieren, so solltest du den Rechner besser für mehrere Monate in die Kammer stellen.
Und am Ende sind die Daten ein Temperaturverlauf der in 1ms Abständen mit 16 Bit erfasst wurde. Wenn ein Wert x erreicht wurde soll eine Lampe angehen... Sag doch mal an was das für Daten sind und was du damit vorhast. Dann sagen dir die Leute hier wie das gehen könnte. So etwas kann man auch erstmal mit einem Teil der Daten testen.
Beschleunigungsverlauf eines shakers im 2er Komplement hier in Dezimaldarstellung.
amateur schrieb: > Kleb' Dir doch einfach ein einfachst Basic-, Pascal- oder C-Programm > > zusammen und brech die Datei so um, dass Du unter den maximalen > > Zeilenanzahl bleibst. Das mache ich immer mit notepad++ und "suchen / Ersetzen"
Wenn ich mich jetzt nicht verrechnet habe, ergeben 6Mio Messwerte bei einem pro 1/10 mm eine Diagrammlänge von 600m. Wie soll das Ergebnis den überhaupt dargestellt werden?
Ich wusste garnicht, dass notepad++ so komplexe "suchen / Ersetzen"-Aufrufe kann. "Ersetze" jedes 250te Semikolon mit einem Zeilenumbruch. Wau.
hp-freund schrieb: > Wie soll das Ergebnis den überhaupt dargestellt werden? Rauhfaserdrucker (bei 50m Rollen sind das gerade mal lächerliche 12 Rollen).
Noch verwegener: das Ganze erinnert mich an die Wave Darstellung von Audacity. Da kannst Du zoomen, kopieren, ausschneiden und sogar noch reinhören.... Mach doch eine wav Datei aus den Messwerten, oder nimm gleich die Klänge deines shakers auf ;-)
Hatte mich interessiert, darum habe ich mir gerade mal eine Importdatei mit 600000 Zeilen je 10 Werten erstellt und in OOcalc importiert.
1 | #!/bin/bash
|
2 | for((z=0;z<600000;z++)); do |
3 | for((s=0;s<10;s++)); do |
4 | let n=$RANDOM |
5 | let n=n/256 |
6 | printf "%03d;" $n |
7 | done
|
8 | echo |
9 | done
|
Hat entgegen meiner Erwartungen nur wenige Sekunden gebraucht. Grafik würde ich damit trotzdem nicht bauen wollen;-)
Je nach dem was man machen möchte, wäre u.U. auch PowerPivot interessant http://technet.microsoft.com/de-de/bi/ff604673.aspx http://www.microsoft.com/en-us/bi/Products/PowerPivot.aspx
lies die .csv mit Matlab ein, ist zur Weiterverarbeitung sicher besser geeignet, als Excel. Mittlerweile nutze ich viel öfter Matlab als Excel, wenn ich mit Tabellen arbeiten möchte, abgesehen vielelicht von BOMs.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.