Пытаюсь сопоставить числа, но зацикливаюсь на совпадении с плавающими числами - PullRequest
0 голосов
/ 19 сентября 2019

Так что на работе я использую Excel для множества разных вариантов использования.Недавно мне пришлось кое-что посчитать в определенных документах Excel, которые пришли на мою электронную почту, поэтому я решил, почему бы не автоматизировать это.Идея состоит в том, чтобы отсканировать определенные столбцы, сложить их, и, если они прошли определенное число, разделить на 1000. Я могу сделать это для нескольких, но теперь я застрял в плавающих целых числах.

#! python3

import pandas as pd
import re

xlsx = pd.ExcelFile('Test_doc.xlsx')
df = pd.read_excel(xlsx, 'Sheet1', usecols=['CPUs'])
df2 = pd.read_excel(xlsx, 'Sheet2', usecols=['Memory'])
df3 = pd.read_excel(xlsx, 'Sheet3', usecols=['Storage'])



cpu = int(df.sum())         # example 75
memory = int(df2.sum())     # example 175616  
storage = float(df3.sum())  # example 37449601.714689255

def conversion(text):
    if 4 >= len(str(text)):
        print("number")
    elif 5 >= len(str(text)):
        print("Ten Thousand")
        text = text / 1000
        print(text)    
    elif 6 >= len(str(text)):
        print("Hundred")
        text = text / 1000
        print(text) 
    elif 7 >= len(str(text)):
        print("Million")
        text = text / 1000
        print(text) 
    elif 8 >= len(str(text)):
        print("Ten Million")
        text = text / 1000 / 1000
        print(str(text))
    else:
        print("Not here")


conversion(storage)

Когда я выполняю через преобразование (), я получаю «Не здесь».Я пробовал это несколько раз с разными номерами, превышающими 00000000, и получал тот же результат.

1 Ответ

0 голосов
/ 19 сентября 2019

text - это число (лучше выбрать менее вводящее в заблуждение имя), поэтому вы можете просто сравнить это число с другими числами:

def conversion(text):
    if text < 10_000:
        print(text)
    elif text < 100_000_000:
        text /= 1000
        print(text)
    else:
        print("Not here")

Это работает для чисел с плавающей запятой и целых чисел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...