2016-11-16 2 views
0

J'utilise win32com client avec python pour manipuler Excel. J'ai été capable d'extraire les données comme prévu. Mais la cellule entière est livré avec décimal comme 11001.0 où je m'attends sans décimale.données de cellule Python Lecture Excel fuite zéro

for row in range(1, totalRows+1): 
    for col in range(1, totalColumn+1): 
     strData = ws.Cells(row, col).value 
     print(strData) 

Résultat:

2123448947.0 
8676.0 

Valeur d'origine:

2123448947 
8676 
+0

Pour toutes fins utiles, ces nombres sont les mêmes que vos nombres désirés sauf qu'ils sont 'float's pas' int's. Est-ce le problème que vous souhaitez imprimer les numéros et ne souhaitez pas avoir le '.0's à la fin? –

+0

Merci, ceci est ma partie de test et j'ai besoin de comparer strData par longueur et Zero ne m'aide pas. Je voudrais les lire comme dans Excel. – nur

Répondre

1

Les chiffres que vous obtenez et les chiffres que vous souhaitez obtenir sont à peu près la même chose quand il s'agit de faire des mathématiques avec leur. Si vous souhaitez les imprimer et ne veulent pas les .0 s aux extrémités, vous pouvez utiliser format comme ceci:

print("{:g} {:g}".format(strData[0], strData[1])) 

(en supposant strData types soutiennent que)