Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/10/2006, 21h32   #1
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
Par défaut détecter le séparateur de données dans un fichier texte

salut,
j'essaie d'écrire un petit script qui me servira à déterminer si les données d'un fichier sont séparées par des virgules ou des tabulations:
Je fais ceci (voir ci-dessous) sachant que $line est la première ligne de mon fichier et qu'elle peut ressembler à ça :
"Amazona ochrocephala" "-82.7165783" "8.4118211" (tab separated dans ce cas précis).

Code :
1
2
3
4
5
6
7
8
9
function separatorType($line){
	$chr1 = ",";
	$chr2 = "\t";
	if (strpos($line,$chr1)){
		return $chr1;
	} elseif (strpos($line,$chr2)) {
		return $chr2;
	}	
}
ça marche pour le premier cas, si les données sont séparées par des virgules mais pas dans le second si les données sont séparées par des tabulations. Je pense que \t n'est pas vraiment vu comme un caractère. Mais alors comment faire?

merci pour vos conseils

julien
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 22h12   #2
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
un explode ??

Pour un exemple concret : Comment morceller une chaîne ?
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 22h35   #3
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
donc voilà ce que ça donne:
Code :
1
2
3
4
5
6
7
8
function separatorType($line){
	if (count(explode(",",$line)) > 1){
		return(",");
	}
	elseif (count(explode("\t",$line)) > 1) {
			return("\t");
	}
}
merci de me dire ce que vous en pensez.
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h19.


 
 
 
 
Partenaires

Hébergement Web