Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:csv

CSV-Datei importieren und dessen Inhalt verarbeiten

Mit der Funktion „parseCSV“ kann eine als Zeichenkette übergebende CSV-Datei zeilenweise verarbeitet werden. Zusätzlich kann optional angegeben werden, ob die erste Zeile Zeilenüberschriften enthält und daher für die Verarbeitung übersprungen werden soll.

/**
 * @param string $content
 * @param boolean $skipFirstLine
 */
function parseCSV( $content, $skipFirstLine = false )
{
    // Zeilenumbrueche gegen Trennzeichen austauschen
    $content    = str_replace( "\r\n", "|", $content );
    $content    = str_replace( "\n", "|", $content );
 
    $rows       = str_getcsv( $content, '|' );
 
    foreach( $rows as $key => $row )
    {
        if( $skipFirstLine && $key === 0 ) // 1. Zeile enthaelt Spaltenueberschriften
        {
            continue; // ueberspringen
        }
 
        $cols       = explode( ';', $row );
        $spalteA    = $cols[0]; // Wert aus Spalte "A"
        $spalteC    = $cols[2]; // Wert aus Spalte "C"
        $spalteF    = $cols[6]; // Wert aus Spalte "F"
        // TODO: Hier koennen die Werte verarbeitet werden
    }
}

Anwendungsbeispiel:

$directory  = "C:\\Users\\username\\Documents\\csv";
$filename   = "importfile.csv";
$content    = file_get_contents( $directory . '\\' . $filename );
 
parseCSV( $content, true );
php/csv.txt · Zuletzt geändert: 2020/11/04 08:38 von webproducer