No añadir string en lista cuando contenga espacios o otros caracteres no deseados
Publicado por Samuel (38 intervenciones) el 25/09/2019 10:59:51
hola!
Para practicar he hecho un script que captura por OCR textos y movimientos por una web,y los va guardando en una lista, funciona bastante bien pero aveces guarda mal los nombres por eso quiero poner las siguientes reglas:
Si la captura , contiene espacios, letras mayúsculas,o estos caracteres , |,[,],{.},(,),-, no añadir a la lista, como lo hago? he probado varias formas pero no funciona.
probé así pero no funciona bien:
Para practicar he hecho un script que captura por OCR textos y movimientos por una web,y los va guardando en una lista, funciona bastante bien pero aveces guarda mal los nombres por eso quiero poner las siguientes reglas:
Si la captura , contiene espacios, letras mayúsculas,o estos caracteres , |,[,],{.},(,),-, no añadir a la lista, como lo hago? he probado varias formas pero no funciona.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import webbrowser
import pyautogui
import time
import cv2
import pytesseract
from PIL import Image
nombres=[]
tags=["london","Amsterdam","Athens","Barcelona"]
numero=0
def funcion():
global numero
pyautogui.click(800,51)
time.sleep(1)
pyautogui.typewrite('https://www.web'+(tags[(numero)])+'/', interval=0.01)
pyautogui.press('enter')
time.sleep(5)
pyautogui.click(263,434)
#pasar paginas de las web y capturar nombres
time.sleep(2)
pyautogui.click(1190,573)
# Capturamos pantalla
captura = pyautogui.screenshot(region=(821,154,268,32))
# Guardamos imagen
captura.save('estado.png')
#OCR de la imagen
im = cv2.imread("estado.png")
estado = pytesseract.image_to_string(im)
nombres.insert(0,(estado))
#FIN CAPTURA
funcion()
probé así pero no funciona bien:
1
2
3
for caracter in estado:
while caracter in ["|","," ,"[","]","{","}","(",")"," ","-"]:
nombres.insert(0,(estado))
1
2
3
for caracter in estado:
if caracter not in ["|","[","]","{","}","(",")"," ","-"]:
nombres.insert(0,(estado))
Valora esta pregunta


0