2017-01-02 1 views
2

Vous cherchez un moyen de simplifier la division d'une colonne. Y a-t-il une boucle que je peux utiliser?Comment améliorer ce script. Diviser une colonne par 3 dans openpyxl

from openpyxl import load_workbook 

xfile = load_workbook('camdatatest.xlsx') 

sheet =xfile.get_sheet_by_name('Sheet1') 

sheet['D2'] = '=C2/3' # Want to divide all values in Column C with the new value in D. 
sheet['D3'] = '=C4/3' 
sheet['D4'] = '=C5/3' 
sheet['D5'] = '=C6/3' 
sheet['D6'] = '=C7/3' 
sheet['D7'] = '=C8/3' 
sheet['D8'] = '=C9/3' 
sheet['D9'] = '=C10/3' 




xfile.save("camdatatestoutput.xlsx") 

Répondre

0

Ceci est juste l'une des possibilités.

for i in range(2,11): 
    sheet['D{}'.format(i)] = '=C{}/3'.format(i) 

Notez que la façon range fonctionne que si vous voulez que le numéro 10 à inclure, vous devez vous assurer de passer 11.

+0

_italics_ merci @ e4c5! – applestooragnes

+1

Vous êtes le bienvenu. Je suis content d'avoir été utile. Puisque vous êtes encore nouveau ici, permettez-moi de souligner que la façon préférée de dire «merci» ici est en votant de bonnes questions et des réponses utiles (une fois que vous avez assez de réputation pour le faire), et en acceptant la réponse la plus utile à toute question que vous posez (ce qui vous donne aussi un petit coup de pouce à votre réputation). [Quand quelqu'un répond] (http://stackoverflow.com/help/someone-answers) – e4c5

+0

Merci! Vous avez mon upvote! Une question de plus, si possible? Que faire si je veux diviser la plage d'une colonne par des valeurs ultérieures ou en changeant à partir d'une colonne séparée, telle que .......... pour i dans la plage (2,11): sheet ['D {}' .format (i)] = 'C {}/G2, G3, G4, etc ... ?? – applestooragnes