Hello,
j'ai créé un fichier matlab de 127 millions de données et pour les récupérer, j'utilise la fonction mat73 qui crée un dictionnaire. J'aimerais récupérer les 127 millions de données du dictionnaire pour les mettre dans une variable.
Je n'y arrive pas !!!
renner_data = mat73.loadmat('Yarek_127millions_data.mat')
data = renner_data.get('data')
u = data['data'].T[0]
Yarek_127millions_data.mat est le fichier matlab d'origine, comprenant 127 millions de données dans un vecteur colonne 127M:1
mat73 en fait un dictionnaire.
U est la variable que j'aimerais utiliser pour stocker ces valeurs.
![]()
et qu'est ce qui nearche pas?
Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?
data = renner_data.get('data')
ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.
Si tu veux mettre tes données dans une variable (une liste par exemple), faut soit faire une boucle sur ton dictionnaire ou alors utiliser la méthode values() d'un dictionnaire qui te renvoie un générateur (que tu peux ensuite caster dans une liste par exemple).
dico = {"latitude": 48.866667, "longitude": 2.333333}
coordinates = list(dico.values())
print(coordinates)
Retourne :
[48.866667, 2.333333]Sans connaître l'erreur et la structure de ton dictionnaire c'est un peu compliqué de t'aider.
Le 13 août 2021 à 19:45:35 :
Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?data = renner_data.get('data')
ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.
Là tu renvoies les données correspondant à la clé data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?
Le 13 août 2021 à 19:51:31 :
Le 13 août 2021 à 19:45:35 :
Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?data = renner_data.get('data')
ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.Là tu renvoies les données correspondant à la clé
data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?
Je ne sais pas. En fait, j'utilise mat73 car la fonction read de python par défaut ne fonctionne pas sur ce fichier MATLAB.
Le 13 août 2021 à 19:51:31 :
Le 13 août 2021 à 19:45:35 :
Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?data = renner_data.get('data')
ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.Là tu renvoies les données correspondant à la clé
data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?
On ne peut pas prendre toutes les valeurs sinon ?
Le 13 août 2021 à 20:04:25 :
Le 13 août 2021 à 19:51:31 :
Le 13 août 2021 à 19:45:35 :
Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?data = renner_data.get('data')
ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.Là tu renvoies les données correspondant à la clé
data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?Je ne sais pas. En fait, j'utilise mat73 car la fonction read de python par défaut ne fonctionne pas sur ce fichier MATLAB.
Oui ça j'avais bien compris. Mais le but de la fonction mat73.loadmat est justement de charger le fichier dans une structure de données Python, le dictionnaire en l’occurrence.
Tu peux écrire print(renner_data.keys()) pour voir les clés présentes dans ton dictionnaire.
Le 13 août 2021 à 20:12:54 :
Le 13 août 2021 à 19:51:31 :
Le 13 août 2021 à 19:45:35 :
Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?data = renner_data.get('data')
ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.Là tu renvoies les données correspondant à la clé
data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?On ne peut pas prendre toutes les valeurs sinon ?
Mais bien sûr que tu peux prendre toutes les valeurs mais je ne sais pas comment est structuré ton dictionnaire. Tu peux avoir une clé qui correspond à un dictionnaire et dans ce dictionnaire une clé renvoie une liste de listes...
Le 13 août 2021 à 20:16:17 :
Le 13 août 2021 à 20:12:54 :
Le 13 août 2021 à 19:51:31 :
Le 13 août 2021 à 19:45:35 :
Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?data = renner_data.get('data')
ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.Là tu renvoies les données correspondant à la clé
data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?On ne peut pas prendre toutes les valeurs sinon ?
Mais bien sûr que tu peux prendre toutes les valeurs mais je ne sais pas comment est structuré ton dictionnaire. Tu peux avoir une clé qui correspond à un dictionnaire et dans ce dictionnaire une clé renvoie une liste de listes...
Ok, et sinon, mise à part mat73, tu connais une fonction qui pourrait prendre facilement les valeurs du fichier? J'ai essayé la fonction scipio, ça marche pas.
![]()
Le 13 août 2021 à 20:53:15 :
Le 13 août 2021 à 20:16:17 :
Le 13 août 2021 à 20:12:54 :
Le 13 août 2021 à 19:51:31 :
Le 13 août 2021 à 19:45:35 :
> Le 13 août 2021 à 19:39:24 :
>et qu'est ce qui nearche pas?
data = renner_data.get('data')
ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.Là tu renvoies les données correspondant à la clé
data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?On ne peut pas prendre toutes les valeurs sinon ?
Mais bien sûr que tu peux prendre toutes les valeurs mais je ne sais pas comment est structuré ton dictionnaire. Tu peux avoir une clé qui correspond à un dictionnaire et dans ce dictionnaire une clé renvoie une liste de listes...
Ok, et sinon, mise à part mat73, tu connais une fonction qui pourrait prendre facilement les valeurs du fichier? J'ai essayé la fonction scipio, ça marche pas.
Tu n'as pas besoin d'une autre fonction. Tu as juste besoin d'un peu de code Python et de comprendre comme manipuler un dictionnaire en Python. Éventuellement poste ton fichier .mat si tu veux que je teste.
Le 13 août 2021 à 21:18:30 :
Le 13 août 2021 à 20:53:15 :
Le 13 août 2021 à 20:16:17 :
Le 13 août 2021 à 20:12:54 :
Le 13 août 2021 à 19:51:31 :
> Le 13 août 2021 à 19:45:35 :
>> Le 13 août 2021 à 19:39:24 :
> >et qu'est ce qui nearche pas?
>
> data = renner_data.get('data')
>
> ça marche pas
> Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.
Là tu renvoies les données correspondant à la clé
data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?On ne peut pas prendre toutes les valeurs sinon ?
Mais bien sûr que tu peux prendre toutes les valeurs mais je ne sais pas comment est structuré ton dictionnaire. Tu peux avoir une clé qui correspond à un dictionnaire et dans ce dictionnaire une clé renvoie une liste de listes...
Ok, et sinon, mise à part mat73, tu connais une fonction qui pourrait prendre facilement les valeurs du fichier? J'ai essayé la fonction scipio, ça marche pas.
Tu n'as pas besoin d'une autre fonction. Tu as juste besoin d'un peu de code Python et de comprendre comme manipuler un dictionnaire en Python. Éventuellement poste ton fichier .mat si tu veux que je teste.
En fait, je ne suis pas sensé coder sur Python à la base, je travaille sur MATLAB, un mec m'avait fait un code pour faire un truc sur Python qu'on ne peut pas faire sur MATLAB et là, en changeant de fichier, je me suis rendu compte que son code ne fonctionnait pas.
Le 13 août 2021 à 21:38:12 :
Le 13 août 2021 à 21:18:30 :
Le 13 août 2021 à 20:53:15 :
Le 13 août 2021 à 20:16:17 :
Le 13 août 2021 à 20:12:54 :
> Le 13 août 2021 à 19:51:31 :
>> Le 13 août 2021 à 19:45:35 :
> >> Le 13 août 2021 à 19:39:24 :
> > >et qu'est ce qui nearche pas?
> >
> > data = renner_data.get('data')
> >
> > ça marche pas
> > Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.
>
> Là tu renvoies les données correspondant à la clé
data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?On ne peut pas prendre toutes les valeurs sinon ?
Mais bien sûr que tu peux prendre toutes les valeurs mais je ne sais pas comment est structuré ton dictionnaire. Tu peux avoir une clé qui correspond à un dictionnaire et dans ce dictionnaire une clé renvoie une liste de listes...
Ok, et sinon, mise à part mat73, tu connais une fonction qui pourrait prendre facilement les valeurs du fichier? J'ai essayé la fonction scipio, ça marche pas.
Tu n'as pas besoin d'une autre fonction. Tu as juste besoin d'un peu de code Python et de comprendre comme manipuler un dictionnaire en Python. Éventuellement poste ton fichier .mat si tu veux que je teste.
En fait, je ne suis pas sensé coder sur Python à la base, je travaille sur MATLAB, un mec m'avait fait un code pour faire un truc sur Python qu'on ne peut pas faire sur MATLAB et là, en changeant de fichier, je me suis rendu compte que son code ne fonctionnait pas.
Demande au type de modifier son code alors, ou donne nous davantage d'informations parce que dire "ça marche pas" sans même avoir le message d'erreur.. et bien c'est un peu compliqué pour déboguer.
Le 13 août 2021 à 21:45:45 :
Le 13 août 2021 à 21:38:12 :
Le 13 août 2021 à 21:18:30 :
Le 13 août 2021 à 20:53:15 :
Le 13 août 2021 à 20:16:17 :
> Le 13 août 2021 à 20:12:54 :
>> Le 13 août 2021 à 19:51:31 :
> >> Le 13 août 2021 à 19:45:35 :
> > >> Le 13 août 2021 à 19:39:24 :
> > > >et qu'est ce qui nearche pas?
> > >
> > > data = renner_data.get('data')
> > >
> > > ça marche pas
> > > Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.
> >
> > Là tu renvoies les données correspondant à la clé
data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?>
> On ne peut pas prendre toutes les valeurs sinon ?
Mais bien sûr que tu peux prendre toutes les valeurs mais je ne sais pas comment est structuré ton dictionnaire. Tu peux avoir une clé qui correspond à un dictionnaire et dans ce dictionnaire une clé renvoie une liste de listes...
Ok, et sinon, mise à part mat73, tu connais une fonction qui pourrait prendre facilement les valeurs du fichier? J'ai essayé la fonction scipio, ça marche pas.
Tu n'as pas besoin d'une autre fonction. Tu as juste besoin d'un peu de code Python et de comprendre comme manipuler un dictionnaire en Python. Éventuellement poste ton fichier .mat si tu veux que je teste.
En fait, je ne suis pas sensé coder sur Python à la base, je travaille sur MATLAB, un mec m'avait fait un code pour faire un truc sur Python qu'on ne peut pas faire sur MATLAB et là, en changeant de fichier, je me suis rendu compte que son code ne fonctionnait pas.
Demande au type de modifier son code alors, ou donne nous davantage d'informations parce que dire "ça marche pas" sans même avoir le message d'erreur.. et bien c'est un peu compliqué pour déboguer.
Il est en vacance
il retourne un string
Quand je fais :
print(renner_data.keys())
j'ai ça
dict_keys(['data'])
Le 13 août 2021 à 23:39:46 :
Quand je fais :
print(renner_data.keys())j'ai ça
dict_keys(['data'])
Écoute sans le fichier original c'est difficile d'évaluer ton problème.