Fichier csv dans python
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Fichier csv dans python



  1. #1
    invite3a21ab4f

    Fichier csv dans python


    ------

    Bonjour, je dois insérer des valeurs de longueur d'onde (wl) ainsi que des valeurs de n a partir d'un fichier csv sur un python, le soucis, c'est que le message d'erreur 'index out of range' apparait (alors que les deux colonnes du fichier csv sont bien définies et je recois bien les valeurs de x et y avec le print..., je vous poste en dessous mon code

    Code:
    #from scipy import *
    #from pylab import *
    #from scipy.optimize import curve_fit
    #import os
    #from numpy import *
    #
    #
    #f = open("/Users/etudiant/Desktop/Werner-DFT.csv",'r')
    #f.readline()
    #for ligne in f :
    #        
    #        
    #        mots=ligne.split(",")
    #        x=mots[0]
    #        y=mots[1]
    #        
    #        x=float(x)
    #        y=float(y)
    #        print(y)
    le message d'erreur est donc le suivant :

    y=mots[1]

    IndexError: list index out of range
    Mon fichier comporte pourtant deux colonnes séparées par une virgule... en attente d'une reponse, merci.

    -----
    Dernière modification par JPL ; 07/11/2018 à 15h58. Motif: Ajout de la balise Code (#) pour garder l'indentation

  2. #2
    invite73192618

    Re : Fichier csv dans python

    Citation Envoyé par coincoinlebro Voir le message
    Mon fichier comporte pourtant deux colonnes séparées par une virgule...
    Cela ressemble pourtant à une erreur dans le délimiteur. Qu'est-ce qui se passe si tu ajoutes print('ligne =', ligne) juste après le for? Si tu obtiens quelque chose comme "ligne = 1;0.1", alors il faut que tu remplaces .split(",") par .split(";")

  3. #3
    pm42

    Re : Fichier csv dans python

    Ou alors il y a une ligne vide à la fin...
    Mais ce n'est pas forcément une bonne idée de lire "à la main" alors qu'il y a des librairies efficaces : https://docs.python.org/3/library/csv.html

  4. #4
    invite3a21ab4f

    Re : Fichier csv dans python

    Rebonjour, merci pour vos réponses, j'ai fait ce que tu as dis Jiav et je retrouve bien la virgule, cependant il y a un saut de ligne a la fin qui enchaine sur un second tableau avec la colonne n qui devient k ( colonne y )avec d'autres valeurs et x qui reste x( meme valeurs), je pense que cela est du au saut de ligne que le programme crash, cependant je ne sais pas quel lineterminator mettre car je ne veut pas que le programme dépasse le saut de ligne... /n fonctionnerait t'il ?
    désolé je débute un peu en python et je ne vois pas les choses simples comme elles doivent l'etre

  5. A voir en vidéo sur Futura
  6. #5
    invite73192618

    Re : Fichier csv dans python

    Citation Envoyé par coincoinlebro Voir le message
    Rebonjour, merci pour vos réponses, j'ai fait ce que tu as dis Jiav et je retrouve bien la virgule, cependant il y a un saut de ligne a la fin qui enchaine sur un second tableau avec la colonne n qui devient k ( colonne y )avec d'autres valeurs et x qui reste x( meme valeurs), je pense que cela est du au saut de ligne que le programme crash, cependant je ne sais pas quel lineterminator mettre car je ne veut pas que le programme dépasse le saut de ligne... /n fonctionnerait t'il ?
    désolé je débute un peu en python et je ne vois pas les choses simples comme elles doivent l'etre
    Ton diagnostic semble OK. Dans ce cas ton programme est presque finit, il ne te reste plus qu'à ajouter une condition pour sortir de la boucle des que le ligne est vide (if len(ligne)<2: break).

  7. #6
    polo974

    Re : Fichier csv dans python

    après avoir géré la ligne vide, un petit test sur mots serait utile aussi:
    Code:
    if len(mots) < 2:
        print("oups mauvaise ligne")
        continue # ou break ou exit(1) ou ... bref, traiter l'erreur...
    ou bien utiliser try: except: pour gérer les erreurs,
    mais ATTENTION: un exit() ne fonctionne pas directement dans un bloc try:, il déclenche une exception, qu'il faut gérer pour sortir pour de vrai...
    Jusqu'ici tout va bien...

Discussions similaires

  1. [Python] Ouvrir un fichier
    Par inviteafc2d3a1 dans le forum Programmation et langages, Algorithmique
    Réponses: 11
    Dernier message: 09/11/2017, 14h18
  2. Importer fichier tableur dans Python
    Par invitebea6be24 dans le forum Programmation et langages, Algorithmique
    Réponses: 47
    Dernier message: 25/12/2015, 11h58
  3. exécution d'un fichier python rattaché à un fichier kivy
    Par invite8218ab1b dans le forum Programmation et langages, Algorithmique
    Réponses: 7
    Dernier message: 24/11/2014, 14h43
  4. Rediriger la sortie de os.system dans un fichier .text en Python
    Par invite5894bdd9 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 13/06/2012, 17h46
  5. Python - Peut-on lire un fichier et envoyer les lignes dans une liste au lieu d'une string ?
    Par invitef702cf04 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 21/02/2012, 12h40