@Mister_Mad

Как в цикле сменить колонку вывода?

Добрый день, пишу скрипт для дешифрования из файла эксель
колонка А - id
колонка В - слово зашифрованное под id - номером
колонка С - буква зашифрована под id - номером

A             B                   C
1          some text             A
2          nothing               R
3          char                  G
4          letter                S


list_inn = ["1","3","4"] - входящие данные (id)

list_inn = ["1","3","4"]
for listt in list_inn:
    for i1,i2,i3 in sheet['A'+str(1): 'C'+str(4)]:
        if "{}".format(i1.value)  == listt:
            print("{}".format(i2.value))
            if  "{}".format(i2.value) == 'char':
                print("{}".format(i3.value))


получаю результат:
some text
char
G
letter


Логика проста, если из списка list_inn попадается слово char, цикл продолжает выводить колонку С (буквы)
Ожидается результат:
some text
char
S
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
@dmshar
Примерно так:
import pandas as pd
tbl=pd.read_excel("Книга2.xlsx",index_col=0,header=0,dtype={'A': str})
cr=True
list_inn = ["1","3","4"]
for listt in list_inn:
    if cr==True:
        print(tbl.loc[int(listt)].B)
        if tbl.loc[int(listt)].B=='char':
            cr=False  
    else:
        print(tbl.loc[int(listt)].C)


Результат:

some text
char
S
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы