[PYTHON] En liant Maya avec Excel ou des feuilles de calcul ~

Cela peut être évident pour ceux qui créent des outils avec python, C'est une excellente opportunité, alors j'aimerais laisser quelque chose ensemble ٩ (๑ • ̀ω • ́๑) ۶

Motivation

○ csv c'est bien, mais les concepteurs veulent aussi lire et utiliser Excel ~ ○ Je souhaite obtenir le nombre d'images de la liste de mouvements Excel ~ ○ Je souhaite que vous mettiez à jour l'état de la feuille de calcul Google sans autorisation après la sortie et le téléchargement ~

Je souhaite me référer et mettre à jour des données externes telles que ...! !! !! !! !! !! !!

Qu'est-ce qu'un module externe?

Il existe de nombreux modules externes tiers en python. Vous pouvez facilement faire des choses que Mel ne peut pas faire.

import csv
import os

En python, vous pouvez appeler divers modules en insérant d'abord l'importation. Comme csv et os sont des modules originaux, il n'est pas nécessaire de les supprimer séparément.

Maya est une série Python2, alors faites attention de laisser tomber le module correspondant!

Cette fois, je vais mettre les modules directement dans le dossier script de maya, Dans le cas de la gestion d'équipe, il est préférable de gérer dans un répertoire séparé, donc Pour plus de détails, voir ici! http://www.comtec.daikin.co.jp/DC/UsersNotes/Ritaro/tutorial/maya_04/ http://tm8r.hateblo.jp/entry/2016/10/18/222755

Je l'ai mis directement dans le dossier scripts comme celui-ci.

image

Cet environnement ○ Windows 7 ○ Maya 2016 ○ (○. ○. ○) de chaque module est la version utilisée cette fois!

Je pense qu'il vaut mieux installer en utilisant pip Comment utiliser pip http://www.python-izm.com/contents/basis/pip.shtml Cette fois, j'ai simplement déplacé celui installé ailleurs vers des scripts.

utiliser Excel

xlrd (0.9.4) xlwt (1.0.0) xlutils (1.7.1)

Obtenez le nombre d'images à partir du nom de la scène dans Excel et écrivez la date du jour Enregistrez Excel avec .xls!

image

import xlrd
import xlwt
from xlutils.copy import copy
import maya.cmds as cmds
import os
import datetime

excel = "" #Chemin du fichier Excel
scene = os.path.splitext(cmds.file(q=True, shortName=True, sceneName=True))[0] #Obtenez le nom de la scène

read = xlrd.open_workbook(excel)

ex_row = 0  #Enregistrer la ligne qui sera mise à jour

d = datetime.datetime.today() #Obtenez la date du jour
today = d.strftime("%Y/%m/%d")

sheet_1 = read.sheet_by_index(0)
for col in range(sheet_1.ncols):
    for row in range(sheet_1.nrows):
        if scene == sheet_1.cell(row, col).value:
            ex_row = row
            print u"Cadre de départ:" + sheet_1.cell(row, 1).value + u"Cadre d'extrémité:" + sheet_1.cell(row, 2).value
            continue
            
#Traitement de sortie, etc. si nécessaire

write = copy(read)   #Copiez complètement l'objet à lire dans l'objet à écrire, y compris le style
sheet1 = write.get_sheet(0)    
sheet1.write(ex_row, 3, today) #Ajouter la date du jour dans la 4e colonne
write.save(excel)

Utiliser une feuille de calcul

J'ai fait référence à ce domaine! http://qiita.com/koyopro/items/d8d56f69f863f07e9378

En gros, faites la même chose qu'Excel ci-dessus

gspread (0.4.1) httplib2 (0.9.2) oauth2client (4.0.0) requests (2.12.1) six (1.10.0)

import os
import datetime
import maya.cmds as cmds
import gspread
from oauth2client.file import Storage
from oauth2client.client import OAuth2WebServerFlow


flow = OAuth2WebServerFlow(client_id='identité du client',
                           client_secret='Secret du client',
                           scope='https://spreadsheets.google.com/feeds',
                           redirect_uri="urn:ietf:wg:oauth:2.0:oob")
                           
scene = os.path.splitext(cmds.file(q=True, shortName=True, sceneName=True))[0]

d = datetime.datetime.today() #Obtenez la date du jour
today = d.strftime('%Y/%m/%d')

storage = Storage('cred.dat') #Fichier pour stocker les informations d'identification
credentials = storage.get()
if credentials is None or credentials.invalid == True:
    authorize_url = flow.step1_get_authorize_url()
    cmds.confirmDialog(m='Go to the following link in your browser: ' + authorize_url)
    code = raw_input('Enter verification code: ').strip()
    credential = flow.step2_exchange(code)
    storage.put(credential)
    credential.set_store(storage)
    credentials = credential
    
gc = gspread.authorize(credentials)
spr = gc.open_by_key('ID de la feuille de calcul')

for j, worksheet in enumerate(spr.worksheets()):
    worksheet.get_all_values()
    list_of_lists = worksheet.get_all_values()
    for i, l in enumerate(list_of_lists):
        if l[0] == scene:
            print u'Cadre de départ:' + l[1] + u'Cadre d'extrémité:' + l[2]
            continue
            
for j, worksheet in enumerate(spr.worksheets()):
    worksheet.get_all_values()
    list_of_lists = worksheet.get_all_values()
    for i, l in enumerate(list_of_lists):
        if l[0] == scene:
           worksheet.update_acell('D' + str(i+1), today)

Lorsque vous y accédez pour la première fois spread1.png Parce que ce genre de chose sortira Copiez l'adresse et collez-la dans votre navigateur spread2.png Lorsque vous appuyez sur confirmer avec maya, la fenêtre suivante apparaîtra, alors copiez le code du navigateur spread3.png À partir de la deuxième fois, les informations de cred.dat seront consultées et consultées, ce travail ne sera donc effectué qu'une seule fois.

Cela n'a rien à voir avec Maya, mais les données de la feuille de calcul J'ai également fait quelque chose comme vérifier s'il se trouve sur le serveur de l'entreprise et mettre à jour le statut. Si vous pouvez faire diverses choses à partir de Maya, les concepteurs pourront peut-être distribuer divers outils sans abandonner Python!

Je suis désolé de ne pas avoir grand-chose à voir avec Maya Python!

Ma promotion

Si vous voulez obtenir de l'aide d'un chat, donnez-moi un travail! !! !! !! !! !! !! Twitter: @ yukarin33

Recommended Posts

En liant Maya avec Excel ou des feuilles de calcul ~
Excel avec Python
Gérez Excel avec python
3D ou D avec Py
Lire Excel avec openpyxl
Utiliser Excel avec Python (1)
Utiliser Excel avec Python (2)
Traitez d'énormes fichiers Excel avec Python pour améliorer la productivité
Récupérer les données souhaitées du site Web en liant Python et Excel