проблема pyautogui / openpyxl в операторе IF - PullRequest
0 голосов
/ 13 марта 2020

я создал приложение для импорта данных из таблицы Excel в приложение GUI. Все идет хорошо, но у меня проблема с l oop. Когда я зацикливаюсь, он хорошо импортирует данные в текстовых полях GUI, а с помощью клавиши 'tab' он перемещается по другим текстовым полям очень плавно. Я добавил несколько символов / разделителей на лист, но похоже, что мое приложение игнорирует его в l oop. Похоже, что в операторе IF только первое условие что-то делает. Если l oop достигает значения "CR", "{" или "*", он не выполняет приведенный ниже код, он продолжает импортировать данные с помощью tabkey.

Моя структура данных:

     A      B    C     D       E    F     G      H      I       J     K

1 | 1 значение | 2 значение | * | 4 значение | 5 значение | "{" | 7значение | "CR" | 9value | 10значение | "|" |

2 | 1 значение | 2 значение | * | 4 значение | 5 значение | "{" | 7значение | "CR" | 9value | 10значение | "|" |

3 | 1 значение | 2 значение | * | 4 значение | 5 значение | "{" | 7значение | "CR" | 9value | 10значение | "|" |

4 | 1 значение | 2 значение | * | 4 значение | 5 значение | "{" | 7значение | "CR" | 9value | 10значение | "|" |

5 | 1 значение | 2 значение | * | 4 значение | 5 значение | "{" | 7значение | "CR" | 9value | 10значение | "конец" |

def loop_excel_sheet():
 for i in range(1, max_row+1):
     for j in range(1, max_column+1):
            cell_obj = sheet.cell(row=i, column=j) 
            pyautogui.typewrite(str(cell_obj.value)) 
            if cell_obj.value != "|" or cell_obj.value !="CR" or cell_obj.value !="{" or cell_obj.value !="*":
                pyautogui.hotkey('tab')    
                pyautogui.sleep(1) 
            elif cell_obj.value == "{":
                pyautogui.sleep(2)
                pyautogui.write('')
                pyautogui.hotkey('tab')  
                pyautogui.sleep(2) 
            elif cell_obj.value == "CR":
                pyautogui.sleep(2)
                create_row() #method create row in gui app not in sheet                         
            elif cell_obj.value == "*":
                pyautogui.sleep(3)
                pyautogui.hotkey('f4')     
                pyautogui.sleep(4)      
            elif cell_obj.value == "end": 
                break 
            else:
                import_data() #if delimiter is '|', data imported by submitting OK
...