Importer fichier tableur dans Python - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 48 sur 48

Importer fichier tableur dans Python



  1. #31
    CM63

    Re : Importer fichier tableur dans Python


    ------

    Bonjour,

    Citation Envoyé par Lynx83 Voir le message
    Pas sur que ce soit le problème car je n'arrive même plus à importer ce que j'arrivais avant
    y.append(row[2])
    IndexError: list index out of range
    >>>

    Que veut dire ce message svp?
    Cela veut dire que row[2] n'existe pas. La liste row existe, mais il n'y a pas de position 2. Fait un print row afin de voir ce qu'elle contient.

    A plus

    -----

  2. #32
    JPL
    Responsable des forums

    Re : Importer fichier tableur dans Python

    Ou alors, si cela n'a rien de confidentiel mets en pièce jointe le fichier csv modifié par tes soins (zippé s'il est trop gros).
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  3. #33
    invitebea6be24

    Re : Importer fichier tableur dans Python

    Oui bonne idée. Voilà le fichier zippé en .txt (pas possible de l'envoyer en csv)
    Fichiers attachés Fichiers attachés

  4. #34
    CM63

    Re : Importer fichier tableur dans Python

    Bonjour,

    J'ai essayé d'importer ton fichier dans Excel (ou plutôt dans OpenCalc), pas de problème, ça marche. Peux-tu nous envoyer le source de ton programme?

    A plus.

  5. #35
    invitebea6be24

    Re : Importer fichier tableur dans Python

    Biensûr:

    Code:
    def importCSV(nomfichier):
        t=[]
        x=[]
        y=[]
        v=[]
        a=[]
        O=[]
        w=[]
        with open(nomfichier,"r") as fichier:
            reader=csv.reader(fichier,delimiter=";")
            for row in reader:
                t.append(row[0])
                x.append(row[1])
                y.append(row[2])
                v.append(row[3])
                a.append(row[4])
                O.append(row[5])
                w.append(row[6])
        return(t,x,y,v,a,O,w)
    
    fichier="COORCSVFIN.csv"

  6. #36
    CM63

    Re : Importer fichier tableur dans Python

    Bonjour,

    Ben moi ça marche, mais j'ai fait nomfichier="COORCSVFIN.csv" et non pas fichier="COORCSVFIN.csv" :

    Code:
    import csv
    
    def importCSV(nomfichier):
        t=[]
        x=[]
        y=[]
        v=[]
        a=[]
        O=[]
        w=[]
        with open(nomfichier,"r") as fichier:
            reader=csv.reader(fichier,delimiter=";")
            for row in reader:
                t.append(row[0])
                x.append(row[1])
                y.append(row[2])
                v.append(row[3])
                a.append(row[4])
                O.append(row[5])
                w.append(row[6])
        return(t,x,y,v,a,O,w)
    
    nomfichier="COORCSVFIN.csv"
    a=importCSV(nomfichier)
    print a
    A plus

  7. #37
    CM63

    Re : Importer fichier tableur dans Python

    Ceci dit, je ne sais pas pourquoi tu passes par un with, ça marche aussi bien avec :

    Code:
    import csv
    
    def importCSV(nomfichier):
        t=[]
        x=[]
        y=[]
        v=[]
        a=[]
        O=[]
        w=[]
        fichier=open(nomfichier,"r")
        reader=csv.reader(fichier,delimiter=";")
        for row in reader:
           t.append(row[0])
           x.append(row[1])
           y.append(row[2])
           v.append(row[3])
           a.append(row[4])
           O.append(row[5])
           w.append(row[6])
        return(t,x,y,v,a,O,w)
    
    nomfichier="COORCSVFIN.csv"
    a=importCSV(nomfichier)
    print a

  8. #38
    invitebea6be24

    Re : Importer fichier tableur dans Python

    Ah oui, ça marche, merci. J'ai donc réussi à transformer les virgules par des points dans mes listes qui ressemblent donc à ça:

    O=['t', 's', '0', '0.033333', '0.066666', ...etc]
    Parcontre en essayant de les utiliser dans une fonction j'ai ce message:

    if O[i]%(2*pi)<10*pi/18 and O[i]%(2*pi)>8*pi/18:
    TypeError: 'int' object is not subscriptable
    >>>

    Que veut dire subscriptable svp?

  9. #39
    invite948b37db

    Re : Importer fichier tableur dans Python

    Bonsoir
    Je ne connais pas assez Python pour savoir si ça vient de là mais dans beaucoup de cas, les valeurs entourées d'apostrophes ou de quotes sont vues comme des chaines. Je ne sais pas ce que tu as utilisé pour générer ce fichier mais les apostrophes ne servent à rien dans un fichier CSV. Tu peux les virer.

  10. #40
    invitebea6be24

    Re : Importer fichier tableur dans Python

    Danns le fichier d'origine .csv il n'y a pas d'apostrophe justement...

  11. #41
    CM63

    Re : Importer fichier tableur dans Python

    Bonjour,

    Citation Envoyé par Lynx83 Voir le message
    O=['t', 's', '0', '0.033333', '0.066666', ...etc]
    Parcontre en essayant de les utiliser dans une fonction j'ai ce message:

    if O[i]%(2*pi)<10*pi/18 and O[i]%(2*pi)>8*pi/18:
    TypeError: 'int' object is not subscriptable
    >>>

    Que veut dire subscriptable svp?
    Cela veut dire que tu prends la position i d'un objet qui n'admet pas l'indiçage (je ne sais pas si le mot est correct), or je ne comprends pas, tu le fais avec O, qui est une liste, donc tu as parfaitement le droit de le faire. Je ne comprends pas pourquoi tu as ce message, à moi que je n'aie pas tous les éléments.

    A plus.

  12. #42
    JPL
    Responsable des forums

    Re : Importer fichier tableur dans Python

    En effet pas dans le zip que tu as posté, qui semble parfaitement correct mais au message 17 tu dis :

    Mon tableau importé est du type ['1,0001','2,0002',...]
    et dans le 38 :

    O=['t', 's', '0', '0.033333', '0.066666', ...etc]
    Alors d'où cela sort-il et quel est le problème puisque le zip me semble être un csv parfaitement normal (détail : ce ne sont pas des apostrophes mais ce que les anglo-saxons appelles des quotes) ?
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  13. #43
    CM63

    Re : Importer fichier tableur dans Python

    Bonjour,

    Citation Envoyé par Lynx83 Voir le message
    Ah oui, ça marche, merci. J'ai donc réussi à transformer les virgules par des points dans mes listes qui ressemblent donc à ça:

    O=['t', 's', '0', '0.033333', '0.066666', ...etc]
    Parcontre en essayant de les utiliser dans une fonction j'ai ce message:

    if O[i]%(2*pi)<10*pi/18 and O[i]%(2*pi)>8*pi/18:
    TypeError: 'int' object is not subscriptable
    >>>

    Que veut dire subscriptable svp?
    Par contre, dans O[i] il n'y a pas des nombres mais des chaînes de caractères (représentant des nombres, en tout cas à partir de la position 2). Avant de faire des opérations, telles que de calculer le reste de la division par 2*pi ou autre, il faudrait convertir ces chaînes en nombres.

  14. #44
    invite948b37db

    Re : Importer fichier tableur dans Python

    Citation Envoyé par JPL Voir le message
    En effet pas dans le zip que tu as posté, qui semble parfaitement correct mais au message 17 tu dis :

    et dans le 38 :

    Alors d'où cela sort-il ?
    Par défaut Open Office met des double-quotes. Qu'en est-il de Libre Office ?

  15. #45
    invitebea6be24

    Re : Importer fichier tableur dans Python

    JPL: C'est bien le 38 qui est juste et bizarre qu'il me rajoute des quotes à mes nombres oui...
    CM63: Oui c'est ce que je cherche à faire

  16. #46
    invitebea6be24

    Re : Importer fichier tableur dans Python

    Ca y est j'ai réussi, tout simplement en transformant mes listes str en float, ça marche maintenant que j'ai remplacé les virgules par des points.

    Merci pour l'aide!

  17. #47
    invitebea6be24

    Re : Importer fichier tableur dans Python

    Du coup tout est bon, j'ai réussi tout ce que je voulais faire grâce à csv.

    Pas de rapport (mais je ne pense pas utile de créer un nouveau sujet la dessus), mais maintenant que je trace des courbes avec matplotlib j'ai ce message d'erreur :
    AttributeError: 'module' object has no attribute 'gca'
    quand je tape ax=plt.gca(projection='3d')
    et TypeError: 'module' object is not callable pour plt.axis('equal') par exemple.

    Bref mon 'module object' a un problème... si quelqu'un sait de quoi il s'agit...

  18. #48
    invitebea6be24

    Re : Importer fichier tableur dans Python

    OK j'ai réussi tout seul. On peut archiver. Merci

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. 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, 15h43
  2. Python : pas moyen d'importer tkinter
    Par invitea7d2625c dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 10/09/2012, 14h26
  3. 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, 18h46
  4. 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, 13h40
  5. comment importer un fichier dans kcam 4
    Par invite7c424786 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 27/06/2008, 06h53