# Grösse von CSV Datei berechnen



## Hannibal (22. Juli 2004)

Halli Hallo

Ich habe den Auftrag bekommen für eine CProjekt welches CSV Files für meine Bedürfnisse generiert den Datenbankserver und die Website mit einer Grafischen Dartellung der Daten bereitzustellen.

Dies läuft nun, also ich habe eine Datenbank mit Testwerten usw.
Nun muss ich aber für den Auftraggeber berechnen wie gross die CSV Dateien werden. Wie mache ich dass denn?
Ich weiss dass ich meine eigentliche Datenbank als CSV exportieren kann nur wie rechne ich dass hoch?
Ich habe 24 Einträge in diese CSV Datei pro Tag. Muss ich da die Zeichen zählen und diese dann zusammenzählen?

Das ganze muss ich nicht programmieren oder sonst was, ich muss es nur für den Bericht und die Planung niederschreiben, dass dies dann beim entwickeln des C Codes berücksichtigt werden kann. Das ganze läuft dann auf so einem kleinen Minisystem welches ca. 0.5mb speicher hat, deshalb.

Liebe Grüsse aus der Schweiz
Hannibal


----------



## squeaker (22. Juli 2004)

Als: CSV = Comma Separated Value
Dies ist eine Textdatei wo die Werte mit Kommata getrennt (manchmal auch Tab oder Strichpunkt) drinstehen.

Du brauchst: 
Pro Zeile in der Tabelle: 1 Byte für das Zeilenende
Pro Spalte:  1 Byte/Zeile und Spalte - genauer: (Anzahl Spalten -1) Bytes pro Zeile 

Macht: Anzal Spalten * Anzahl Zeilen Bytes an Steuerinformation (evtl. +1*Anzahl Zeilen wenn das Zeilenende aus 2 Bytes besteht (0x0A0x0D - DOS))

Dazu kommen noch die Anzahl der Zeichen für die Messwerte. Wenn es nur Zahlen sind in einer bestimmten Genauigkeit - kein Problem - sonst wird die Abschätzung recht grob.
Nimm dir am Besten ein paar Beispieldateien und rechne die durchschnittliche Zeichen/Bytezahl pro Zeile aus. Damit solltest du es einfach hochrechnen können.

Wenn es mit dem Speicher knapp wird - schon ein einfaches Kompressionsschema (LZ77 z.B.) würde den Platzbedarf deutlich verringern (auch dieses wäre zu testen um wieviel durchschnittlich).


----------



## Hannibal (22. Juli 2004)

Aha. Davon habe ich leider jetz ziemlich genau nichts verstanden :-( 

Also ich speichere 2 Temperaturen 1x Windrichtung und 1x Lichtstärke. Dies wären 3x Zahlen und 1x 1-2 Wuchstaben.

Ich würde versuchen dieses CSV so zu erstellen dass ich es mit mysqlfront einlesen könnte.


----------



## squeaker (22. Juli 2004)

sagen wir mal du brauchst für die Temperaturen max. 3 Zeichen (+ oder -, sowie 2 für die Zahl) - Grad genau. 
4 Stellen für die Lichtstärke sollten reichen.
2 für die Richtung.
Macht zusammen: 2*3+4+2=12 Bytes in einer Zeile+die Verwaltungsinformation.
4 Spalten macht 3 Kommata + Zeilenende = 4 oder 5 Bytes.

Insgesamt ist deine Datei damit ca. 16 od. 17 Bytes pro Zeile (Meßreihe) lang.

Wenn irgendwelche Annahmen nicht stimmen - einfach die Werte austauschen und neu rechnen.


----------

