IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Import Excel : garder le même format de dates


Sujet :

MATLAB

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut Import Excel : garder le même format de dates
    Bonjour,

    J'ai un petit problème et j'espère que vous pourriez m'aider..

    Je voulais importer des données de Excel en laissant le même format des dates sur le graphique (mon but de cet exo.),

    exemple sur mon graphique et sur l'axe des abscisses je voulais avoir : 04/13/2006, 04/14/2006, ect. mais j'arrive pas, Matlab me donne tjs en format chiffres : 1, 2, .....


    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    quelles lignes de code utilise tu?

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut
    Slt,

    Merci Tug80 pour ta réponse rapide... Mes lignes de code sur Matlab sont les suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [Return] = xlsread('SP')
    out   = {};
    debut = datenum('01/01/1978','12/31/1985');
    for i=1:5257
       out{end+1} = datestr(debut + i,'12/31/1985');
    end
    J'ai 5257 observations du 31/12/1985 au 30/10/2006, j'ai un message d'erreur de + sur Matlab :
    ??? Error using ==> datestr
    Unknown date format: 12/31/1985

    Error in ==> C:\MATLAB6p5\work\Dataexcel.m
    On line 5 ==> out{end+1} = datestr(debut + i,'12/31/1985');
    Merci d'avance pour ton aide

  4. #4
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    Que te retourne:
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    datestr('12/31/1985','mm/dd/yyyy');

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut
    Merci encore pour ta réponse..mais j'arrive pas à inclure mes données sous le bon format approprié Excel.

    J'ai utilisé les deux codes que tu m'as donné et j'ai passé bq de temps à modifier les formats sous Excel, mais the out put affiche que la date du 31/12/1985.

    C'est la première fois que je voulais utiliser ces formats de date, mais d'habitude j'utilise file-import data... et je n'utilise pas les codes sur M-files.

    En fait, j'ai des données sur Excel en trois colonnes ( date, A et B)
    et les dates allant de 31/12/1985 au 30/10/2006 (5257 observations), peux-tu m'aider stp pour avoir les cellules text et les cellules numbers en bon format ?

    Merci pour ton aide que j'ai remarqué dans ce forum concernant le logiciel Matlab

  6. #6
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    je ne comprends pas ton problème:
    où se trouvent tes dates au début ,dans Excel?
    ou c'est l'inverse tu as un fichier de dates que tu veux écrire dans Excel depuis MATLAB?

    ensuite quel est le format de tes dates en entrée et quel format souhaites tu afficher en sortie?

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut
    Merci Tug80 pour ta réponse ...

    Mes données sont dans Excel et je voulais l'importer vers Matlab pour que je puisse faire mes graph avec le format date en axe des abscisses ( c'est ça mon problème).

    Mes données dans Excel sont sous cette format : dd/mm/yyyy, du 31/12/1985 au 30/10/2006.

    j'ai remarqué aussi que le code xlsread ne fait pas intervenir les noms de mes cellules text de mon fichier Excel (Exp. Date, A, B..) ?!

    J'espère que j'ai bien expliqué mon problème et que tu pourras m'aider

    1000 Merci

  8. #8
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    Citation Envoyé par Eric06
    pour que je puisse faire mes graph avec le format date en axe des abscisses ( c'est ça mon problème).

    Mes données dans Excel sont sous cette format : dd/mm/yyyy, du 31/12/1985 au 30/10/2006.
    Pour avoir l'affichage de tes dates sur l'axe des abscisses utilises cette commande

  9. #9
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut
    Je pense que j'ai du mal à faire expliquer mon problème...

    j'essai d'expliquer mon problème à partir d'un exemple :

    J'ai ces données (5256 observations) sur mon fichier Excel ('test') :

    Date A B
    31/12/1985 0,591396857 0,271734885
    02/01/1986 0,508620874 0,209512926
    03/01/1986 0,497976343 0,190298069
    06/01/1986 0,484492744 0,274491686
    07/01/1986 0,484772778 -0,007399681
    08/01/1986 0,491116387 0,2712462
    09/01/1986 0,497062919 0,204192572
    10/01/1986 0,497339035 0,202384707
    13/01/1986 0,495230664 0,265725444
    .
    .
    .
    23/10/2006 0,48706331 0,266083037
    24/10/2006 0,502021395 0,21635062
    25/10/2006 0,492641088 0,325960511
    26/10/2006 0,487082755 0,164317923
    27/10/2006 0,483430785 0,240190696

    Je veux avoir ces mêmes données sur Matlab sans rien changer
    ( malheureusement copier-coller ne marche pas )

    Merci d'avance

  10. #10
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    ok je vais te pondre un code qui va te faire plaisir

  11. #11
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    j'ai donc créé un fichier excel avec tes 3 en-tetes:
    Date,A et B
    donc j'ai 3 colonnes dans mon fichier excel appelé test.xls
    je n'ai pris que tes 3 premières valeurs (en les arrondissant)


    voici le code généralisé pour obtenir ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    clc
    clear all
    close all
    [ndata,headertext]=xlsread('test.xls','Feuil1')
    taille_matrice=size(ndata,1);
    h=zeros(taille_matrice,1);
    for i=1:taille_matrice
        h(i,1)=datenum(headertext{i+1,1},'dd/mm/yyyy') 
    end
    plot(ndata)
    a=datestr(h)
    set(gca,'xticklabel',a)
    title('A et B en fonction des 3 premières dates')
    et voici le graphe que j'obtiens:
    Images attachées Images attachées  

  12. #12
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut
    c coollllllllllllllll

    1000 merci pour ton aide et surtout pour tes disponibilités et tes rapidités de réponses aux débutants dans Matlab...

    à bientôt cher Tug83 pour d'autres questions compliquées pour moi et simples pour toi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Import Excel format date nom reconnu
    Par slachromana dans le forum SAS Base
    Réponses: 2
    Dernier message: 11/07/2013, 10h56
  2. Date sous Excel, même format de cellule et pourtant
    Par AlexFred dans le forum SAS Base
    Réponses: 2
    Dernier message: 09/04/2010, 13h07
  3. Réponses: 4
    Dernier message: 07/03/2008, 22h44
  4. Format de date lors export vers Excel
    Par Celia1303 dans le forum Access
    Réponses: 7
    Dernier message: 19/12/2006, 08h23
  5. [Excel] Import .csv et format de date
    Par davlefabuleux dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/09/2006, 21h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo