kostenloser Webspace werbefrei: lima-city


php und csv Spalten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    skopp-jonathan

    skopp-jonathan hat kostenlosen Webspace.

    Hallo Leute,
    ich habe ein Problem mit CSV Datein in PHP.

    Ich habe in einer CSV Datei verschiedene Spalten mit Werten. Diese Werte können Zahlen und Buchstaben sein. Allerdings ist es mir derzeit nur möglich Zeilen auszulesen und keine Zahlen.

    Ich habe nun 2 Probleme

    a) er ignoriert alle Zahlen
    b) er ließt Zeilenweise und nicht (Ich komme mit array_column nicht zurecht.


    Hier mein Ansatz:
    <?php
    
    function csv_to_array($filename='', $delimiter=',')
    {
    	if(!file_exists($filename) || !is_readable($filename))
    		return FALSE;
    	
    	$header = NULL;
    	$data = array_column();
    	if (($handle = fopen($filename, 'r')) !== FALSE)
    	{
    		while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE)
    		{
    			if(!$header)
    				$header = $row;
    			else
    				$data[] = array_combine($header, $row);
    		}
    		fclose($handle);
    	}
    	return $data;
    }
    
    print_r(csv_to_array('../db/smd_week1.csv'));
    ?>

    Ordentlich ist dieser hier zu sehen: http://paste42.de/10820/CSV-Datentyp&linenr

    Die CSV Datei befindet sich hier: http://skopp-jonathan.lima-city.de/mail/csv.png

    Die Ausgabe nach dem obrigen Quellcode ist hier einzusehen: http://skopp-jonathan.lima-city.de/mail/page/test.php

    Ich hoffe ihr könnt mir helfen.

    Mfg.:
    Barthyr

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Jetzt mal blöd: Gib mal der 1. Spalte nen Wert.
  4. Kannst du es mal mit einer kleineren CSV Datei testen? Mir scheint, als ob er nicht alle Zeilen einliest. Mal geht es bis V301, ein andermal bis V337.
  5. mein-wunschname

    mein-wunschname hat kostenlosen Webspace.

    Was soll denn hier
    $data = array_column();

    passierern?
    Da müsste eigentlich so etwas wie
    array_column() expects at least 2 parameters, 0 given in...

    kommen. Du solltest auf jeden Fall mal die PHP-Fehlermeldungen für die Testphase aktivieren. Falls bei
    $data[] = array_combine($header, $row);

    sowas wie
    Warning: array_combine(): Both parameters should have an equal number of elements in

    kommt, dann weißt du, dass die CSV nicht sauber ist.

    Auch verstehe ich

    $delimiter=','

    nicht. Ich finde in deiner CSV
    "1029";0,032;0,04;0,023;usw;usw;
    also
    $delimiter=';'


    Also noch mal kurz:
    1. Fehlermeldungen aktivieren
    2. übersichtliche Testdatei zusammenstellen
    3. Code bereinigen

    Beitrag zuletzt geändert: 11.7.2016 9:25:15 von mein-wunschname
  6. Autor dieses Themas

    skopp-jonathan

    skopp-jonathan hat kostenlosen Webspace.

    Danke an alle <3

    Hat sich erledigt :D
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!