Importer des données csv
Fou Furieux du Clan
Inscrit:
03/12/2010 20:21
Post(s): 203
Bonjour à tous et à toutes,
comme le titre l'indique pour réaliser mon projet, j'aurais besoin d'importer des données de fichiers csv.
Les données sont toutes classées selon la même logique :
Trois lignes de titres un colonne X et une Y séparées par des virgules puis un retour à la ligne.
En ligne 2980 et 2981 à nouveau un titre.
Je souhaite par la suite animer des keyframes (edit : je voulais dire des shape keys) selon ces données.

Sauriez-vous m’aiguiller vers une solution ?

Par avance merci.

Contribution le : 18/08/2021 16:13
_________________
Ce qui ne tue pas le temps le rend pluvieux.


IllusionMage

Créer un fichier PDF de la contribution Imprimer


Re: Importer des données csv
OverdOzed
Inscrit:
30/04/2011 21:27
De Hérault
Post(s): 602
Bonjour Makhaon,

Voici qui devrait t'aider (inspiré de cette réponse https://blender.stackexchange.com/questions/71458/how-to-read-a-csv-file-and-use-the-values-as-x-and-y-points-in-blender) :

import bpy
import csv
from mathutils import Vector

#remplace test.csv ci-dessous par le chemin complet vers ton fichier
with open('test.csv', newline='') as inputfile:
results = list(csv.reader(inputfile))

#on saute les 3 premières lignes qui sont des titres si j'ai bien compris
title1 = results[0]
title2 = results[1]
title3 = results[2]

#on lit les données jusqu'au titre suivant, tu peux adapter la valeur 2980 si ça ne correspond pas
for i in range(3,2980):
columnX = results[i][0]
columnY = results[i][1]
#ici les données sont affichées dans la console mais tu peux faire ton traitement avec les variables columnX et columnY
print("X = " + columnX + " / Y = " + columnY)

#on lit la deuxième partie des données jusqu'à la fin du fichier (le nombre de lignes est obtenu par la fonction len(results)
for i in range(2982,len(results)):
columnX = results[i][0]
columnY = results[i][1]
print("X = " + columnX + " / Y = " + columnY)

Contribution le : 18/08/2021 18:00
Créer un fichier PDF de la contribution Imprimer


Re: Importer des données csv
OverdOzed
Inscrit:
30/04/2011 21:27
De Hérault
Post(s): 602
Bon apparemment les tabulations ont été perdues dans le message (très importantes en python), voici un lien vers le code : https://pastecode.io/s/0am44euw

Contribution le : 18/08/2021 18:01
Créer un fichier PDF de la contribution Imprimer


Re: Importer des données csv
Clan Afficionado
Inscrit:
26/10/2020 21:22
Post(s): 72
@Milwolf : il y a une balise [code /] prévue pour ça
for i in range(2982,len(results)):
    columnX = results[i][0]
    columnY = results[i][1]
    print("X = " + columnX + " / Y = " + columnY)

Contribution le : 18/08/2021 18:11
Créer un fichier PDF de la contribution Imprimer


Re: Importer des données csv
OverdOzed
Inscrit:
30/04/2011 21:27
De Hérault
Post(s): 602
Mais c'est trop cool ça, j'avais oublié

Contribution le : 18/08/2021 18:13
Créer un fichier PDF de la contribution Imprimer


Re: Importer des données csv
Fou Furieux du Clan
Inscrit:
03/12/2010 20:21
Post(s): 203
Merci beaucoup Milwolf,
c'est exactement ce dont j'avais besoin.
Me reste maintenant cette histoire de shape keys, mais j’espère m'en sortir, si je n'y arrive pas je reviendrais à vous.
Merci encore.

Contribution le : 19/08/2021 09:51
_________________
Ce qui ne tue pas le temps le rend pluvieux.


IllusionMage

Créer un fichier PDF de la contribution Imprimer


Re: Importer des données csv
Fou Furieux du Clan
Inscrit:
03/12/2010 20:21
Post(s): 203
Bonjour à tous et à toutes,
bien cela n'a pas tardé je suis à nouveau bloqué, cette fois ci sur l'ajout de keyframes sur des shape keys.
j’aimerai que celles-ci soient inclusent dans la seconde boucle for...

import bpy
import csv from mathutils
import Vector obj = bpy.context.object
bpy.ops.object.shape_key_add(from_mix=False)
a = 0.1 cod = bpy.context.object.data
for i in range(0,6) :
    K = "Key " + str(i + 1)
    cod.vertices[i].co[0] = a
    bpy.ops.object.shape_key_add(from_mix=False)
    bpy.data.shape_keys["Key"].key_blocks[K].value = 0
    cod.vertices[i].co[0] = 0
with open('Fichier-00001.csv', newline='') as inputfile:
    results = list(csv.reader(inputfile))
for i in range(3,9):
    X = results[i][1]
    x = abs(1 * float(X) / 1)
    K = "Key " + str(i -2)
    bpy.data.shape_keys["Key"].key_blocks[K].value = x


Il suffisait d'ajouter :
    bpy.data.meshes['Mesh'].shape_keys.key_blocks[K].keyframe_insert("value",frame = f)


Merci encore

Contribution le : 20/08/2021 10:53
_________________
Ce qui ne tue pas le temps le rend pluvieux.


IllusionMage

Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses Vitesse d'une vidéo 2 16 Aujourd'hui 00:18:41
Lylo 
Questions & Réponses chemins suivant une déformation de surface 5 62 Aujourd'hui 00:17:25
Rimpotche 
The Blender Clan 'tchat W10 pour le prix d'une cacahuète 5 40 Aujourd'hui 00:15:10
sapajou 
The Blender Clan 'tchat Avenir du blender clan    [1][2][3]...[41] 405 48675 Hier 20:40:59
Rimpotche 
[WIP] et travaux terminés [WIP] La pince à linge 3 32 Hier 20:21:59
Rimpotche 
[WIP] et travaux terminés Pagani Zonda Barchetta 3 82 Hier 13:22:58
Rimpotche 
Questions & Réponses texture eyes avec empty 1 29 Hier 13:17:33
Rimpotche 
[WIP] et travaux terminés [WIP] La gabarre '' Le Gros Ventre''    [1][2][3]...[12] 110 21973 16/01 19:03:45
Guiu 
The Blender Clan 'tchat Progression dans Blender et la 3D    [1][2] 11 459 16/01 17:37:45
Rimpotche 
Questions & Réponses [terminé] Modificateur Mirror sur un Vertex Group 2 76 16/01 15:55:36
Horemheb 
Questions & Réponses Ma caméra me saoule... 5 203 15/01 20:33:23
Lylo 
Hors Sujet !! Appareil Photo Compact, qualité, zoom...    [1][2] 19 366 14/01 14:45:17
lucky 
Hors Sujet !! Tuto Astraonaute low-poly + rigify en 25mm 1 116 14/01 11:50:21
debutant 
Questions & Réponses [résolu] Comportement du parentage et du Weight Paint bizarres    [1][2] 14 31837 10/01 15:17:23
Horemheb 
Hors Sujet !! BONNE ANNEE LE BLENDER CLAN    [1][2] 10 369 10/01 13:34:18
Riggelm 
Questions & Réponses Limit location constraint-Affect transforms 4 162 09/01 14:33:38
Melodicpinpon 
Questions & Réponses Mon objet suit la courbe à 12 km...    [1][2] 10 509 08/01 01:37:51
Lylo 
Questions & Réponses Mauvais parentage en automatic weights    [1][2] 18 516 07/01 18:55:45
moonboots 
[WIP] et travaux terminés Atlantis - Remake [WIP]    [1][2] 10 646 07/01 17:47:58
meltingman 
The Blender Clan 'tchat ANNONCE IMPORTANTE : LE BLENDER CLAN REOUVRE !! Etat des lieux sur le présent et le futur :)    [1][2][3] 23 473117 06/01 18:58:58
76MPaul 

Qui est en ligne
199 utilisateur(s) en ligne (dont 86 sur Forums)

Membre(s): 4
Invité(s): 195


BrandiGsel, FatimaRick, BobbieMcca, OllieHargr, plus...
Nouveaux membres
BlondellGa 2/1/2022
EileenTomk 2/1/2022
RamonaDahl 2/1/2022
SashaBeals 2/1/2022
TroyLightn 2/1/2022
PhillippBu 2/1/2022
LesterHida 2/1/2022
PansyHolm 2/1/2022
YukikoMitt 2/1/2022
Randall318 2/1/2022
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Fev 15
Anniversaire de Dany
Fev 19
Anniversaire de APPGirault123
Fev 23
anniversaire de windspirit
plus 244 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445