Non ti conviene fare una passata preliminare dei dati nel txt per determinare qual è la sequenza più lunga?
Per esempio puoi scrivere una funzione del genere

function max_length(file)
{
$max_length = 0;
$delimiter = ',';

$fr = fopen(file,'r');
while($line=fgets($fr))
{
$tmp = "";
$line = preg_replace('`[\r\n]$`','',$line);
$tmp = explode($delimiter,$line);
$actual_length = count($tmp);
if(actual_length>$maxlength)
$max_length=$actual_length;
}
fclose($fr);

return max_length;
}

Magari aggiungendo qulache controllo per verificare se il file esiste, se è leggibile, se è in lock e se è vuoto.

A questo punto hai determinato il numero di colonne della tua tabella quindi puoi riempirla.
Non so se è la soluzione al tuo problema, ma come detto anche sopra, il post dovrebbe essere più chiaro come linguaggio, più dettagliata come spiegazione e magari con del codice

Una domanda: ma il file di testo lo generi tu o ti arriva come per magia da qualche altra applicazione?
Altrimenti la cosa più semplice sarebbe modificare lo script (o il programa) che genera il file coi punteggi in modo tale che memorizzi da qualche parte il numero di elementi della riga più lunga.

Comunque poi nel tuo for 'intricatissimo' dovresti gestire l'inserimento dei punteggi nella tabella e al termine eseguire un altro for per aggiungere le colonne vuote.

Dovresti comunque specificare se la tabella viene rigenerata ogni volta oppure se i dati già inseriti rimangono e appendi i nuovi dati all'ultima riga. Se così fosse ti conviene creare direttamente una tabella id 10 elementi.