Толковый словарь. Найти не равную валюту в словаре - PullRequest
0 голосов
/ 12 января 2020

Я борюсь пару дней с моим кодом, потому что он не работает должным образом. Все дело в openpyxl, чтении ячеек, вставке всех в новую вкладку «анализ» и добавлении в дополнительную колонку информации о том, имеют ли группы поставщиков (одного и того же поставщика) одинаковую валюту.

Все Excel отсортированы по номеру поставщика. Поле [6] в словаре [актив] номер его поставщика. Укажите в поле [16] валюту (фунт стерлингов или другую валюту, например, доллар США / евро и т. Д. c).

К сожалению, в каждой строке мой код показывает, что есть «не равная валюта», даже если она есть. Ниже приведены входные данные для анализа (столбец 6 его поставщик, столбец 16 его валюта) input data

Мой код:

next_row2 = 1
numerkolumny = 1
nastepny = 1
nastepny2 = 1
ilosc_gbp = 0
ilosc_inne = 0
wolniejszy = 1
wolniejszy2 = 1
dlugosctablicy = len(assets2)

for zmienna2 in assets2:
    if nastepny < dlugosctablicy:
        for lista in assets2:

            if assets2[zmienna2][6] == assets2[lista][6]:
                if assets2[nastepny][16] == "GBP": # JESLI ZNALAZLES GBP, POLICZ DO GBP
                    ilosc_gbp = ilosc_gbp + 1
                else:                               # JESLI ZNALAZLES INNA WALUTE, POLICZ DO INNEJWALUTY
                    ilosc_inne = ilosc_inne + 1
                nastepny = nastepny + 1
                if nastepny > dlugosctablicy:
                    nastepny = 1

            else:

                # SUMUJ WSZYSTKIE WALUTY
                suma_walut = ilosc_gbp + ilosc_inne

                # JESLI ZNAJDZIE ODCHYLELNIA - RAPORTUJ
                if (suma_walut != ilosc_gbp) and (suma_walut != ilosc_inne):
                    for wolniejszy2 in range(wolniejszy2, nastepny): # nr wiersza
                        print(wolniejszy2)

                        if assets2[wolniejszy2][6] == assets2[nastepny2][6]:
                            if ilosc_gbp > ilosc_inne:
                                result_tab.cell(column=17, row=nastepny2+1, value="Currency different than GBP. Check! [Vendor: "+str(assets2[nastepny2][6])+"]").font = style_blad_bold
                                nastepny2 = nastepny2 + 1
                            else:
                                result_tab.cell(column=17, row=nastepny2+1, value="GBP currency in other currencies. Check! [Vendor: "+str(assets2[nastepny2][6])+"]").font = style_blad_bold
                                nastepny2 = nastepny2 + 1

                    wolniejszy = nastepny
                    wolniejszy2 = wolniejszy
                    nastepny2 = wolniejszy

                    ilosc_gbp = 0   # ZERUJ ZMIENNE, LICZYMY NOWEGO VENDORA
                    ilosc_inne = 0  # ZERUJ ZMIENNE, LICZYMY NOWEGO VENDORA
...