TransWikia.com

При считывании данных с excel в python с помощью библиотеки win32com в массив, при выводе почему-то два раза выводит

Stack Overflow на русском Asked by Miss.A on December 5, 2021

Всем добрый день! Не понимаю почему у меня выводится два раза
logic.py:

”’

import openpyxl as opx

import win32com

import win32com.client

def logic():

    val1 = []
    def excel_read2():
        Excel = win32com.client.Dispatch("Excel.Application")
        wb = Excel.Workbooks.Open(u'C:\Users\source\DATA_MACH_0.18.xlsx')
        sh = wb.Worksheets('Лист3')
        sh1 = wb.Worksheets('Лист5')
        val = sh.Cells(2,2).value
        for i in range(3,14):
            val2 = sh1.Cells(i,2).value
            val1.append(val2)    
        print(val)
        print(val1)
        wb.Save()

        #закрываем таблицу
        wb.Close()

        #закрываем COM объект
        Excel.Quit()
    excel_read2()
  
logic()

”’

main.py:

”’

import logic
def MainFunction():

    logic.logic()

MainFunction()  

”’

ожидаю вывод:

-1.25

[1.5, 1.5, 1.5, 1.4, 1.2, 1.0, 0.85, 0.75, 0.68, 0.6, 0.5]

получаю:

-1.25

[1.5, 1.5, 1.5, 1.4, 1.2, 1.0, 0.85, 0.75, 0.68, 0.6, 0.5]

-1.25

[1.5, 1.5, 1.5, 1.4, 1.2, 1.0, 0.85, 0.75, 0.68, 0.6, 0.5]

Заранее спасибо, кто откликнется)

One Answer

функция логик вызывается 2 раза.из main.py и после самой функции.

Answered by Интик on December 5, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP