Условия внутри двух для шлейфов и переключения между выходами? - PullRequest
0 голосов
/ 28 мая 2020

Я создал функцию, которая просматривает файлы Excel и отправляет содержимое в другой файл Excel.

Кроме того, вывод выводится на консоль и отправляется в БД. Однако я хотел бы разделить эти три вывода и вызвать эту функцию, чтобы получить только один вывод в соответствии с моими потребностями.

Я знаю, что могу вызвать функцию с параметром, но похоже, что в этом случае это будет невозможно, потому что одна часть кода (или результат) выполняется во внутреннем l oop, а две другие - во внешнем:

Давайте посмотрим на простой код:

def function(param):
   for i in range(5):
      for x in range(10):
         worksheet.write    <--- writing into excel (row x column)
         array. append      <--- appending data to array (for future writing to database)
      print(appended data)  <--- printing on the console
      cursor.execute()      <--- pushing into database

Я могу представить, что если я поставлю если перед печатью и иначе перед курсором, я могу переключаться между этими двумя. Но как я могу переключить или настроить внутренний l oop?

Мой ожидаемый результат - получить другую часть кода в зависимости от того, как я вызываю функцию.

Пример: если я вызываю function(1) Я получаю значения в Excel, если я позвоню function(2), я получу данные, напечатанные на консоли. И если я вызову его с параметром 3, я получу данные, помещенные в базу данных.

Не могли бы вы указать мне какую-нибудь идею?

Большое спасибо за ваше драгоценное время.

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

Хм, да, думаю, лучший способ - создать функции для каждого выхода. Однако я хотел избежать этого и иметь одну «сложную» функцию.

В любом случае, большое спасибо.

0 голосов
/ 28 мая 2020

Создавать разные функции для разных лог c

пример кода:

def writeToExcel(param):
   for i in range(5):
      for x in range(10):
         worksheet.write    # writing into Excel (row x column)

def writeConsole(param):
    array = [] # append data in this
    for i in range(5):
        for x in range(10):
            array.append       # appending data to array (for future writing to database)
        print(appended_data)  # printing on the console

def writeDb(param):
    array = [] # append data in this
    for i in range(5):
        for x in range(10):
            array.append       # appending data to array (for future writing to database)
        cursor.execute()      <--- pushing into database
...