Python - Como creo una herramienta que me permita la automatizacion de la extracion de un txt

 
Vista:

Como creo una herramienta que me permita la automatizacion de la extracion de un txt

Publicado por Itz (4 intervenciones) el 24/02/2024 19:38:12
Hola buenas tardes, hace unos días concluí mis estudios en Python y me han encomendado como tareas unas cuantas , entre esas esta la automatización de una herramienta la cual extraiga ejemplo key y password de un arhivo txt a medida que las vaya extrayendo las vaya introduciendo y organizando en un 2do archivo en orden en que se vayan extrayendo .
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 12
Ha disminuido su posición en 7 puestos en Python (en relación al último mes)
Gráfica de Python

Como creo una herramienta que me permita la automatizacion de la extracion de un txt

Publicado por Alfil (7 intervenciones) el 25/02/2024 08:54:54
¿Cual es la estructura del archivo de origen?, pon unas líneas de ejemplo.

También estaría bien que pusieras algo de código (aunque sea erróneo) para ver que lo has intentado y tratar de corregirlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como creo una herramienta que me permita la automatizacion de la extracion de un txt

Publicado por Itz (4 intervenciones) el 26/02/2024 23:28:27
Hola buenas tardes asi mas o menos intento desarrollar el codigo para la herramienta :

--------------------------------------------------------------------------------------------------------------------------------------------------------------
with open("texto.txt", "r") as archivo:
palabras = contenido.split()
palabras_clave = []

def limpiar_palabra(palabra):
caracteres_validos = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789\.@#%;:_-'
almacenar_palabra = caracteres_validos
return almacenar_palabra

for palabra in palabras:
palabra_buscada = palabra_encontrada(palabra)
if palabra_buscada and palabra_buscada not in palabras_clave:
palabras_clave.append(palabra_buscada)

with open("palabra_clave_extraida.txt","w") as archivo_palabras:
for palabra_clave in palabras_clave:
archivo_palabras.write(f'{palabra_clave}\n')

print('Las palabras clave han sido extraidas y almacenadas en el archivo "palabras_claves_extraidas.txt"')


-------------------------------------------------------------------------------------------------------------------------------------------------------------
Aca te muestro los datos :
-------------------------------------------------------------------------------------------------------------------------------------------------------------

-FRUNaranjas: Token de venta - 5R9G2D1F8
-FRUMelón: Token de venta - 7S3H6K9A2
-FRUSandía: Token de venta - 4T6J8L1Z5
-FRULimones: Token de venta - 2C8V7B3N6
-FRUUvas: Token de venta - 9Q5W1E3R7
-FRUMelocotón: Token de venta - 1X4Z6Y8I3
-FRUFresas: Token de venta - 3P6O9A2L4
-FRUPiña: Token de venta - 8E1F5W2Z7
-FRUManzanas: Token de venta - 5T9H3Y7R1
-FRUPlátanos: Token de venta - 2G6J4D8K5
-FRUPeras: Token de venta - 9X4V6C1B3
-FRUMangos: Token de venta - 1N5Q8Z3S7
-FRUPapayas: Token de venta - 6H9I3F2W5
-FRUCerezas: Token de venta - 4Y7Z1N8Q2
-FRUKiwis: Token de venta - 8L2O5P9A3
-FRUMoras: Token de venta - 1E6R9T4U7
-FRUDuraznos: Token de venta - 3V5X7B2C8
-FRUGranadas: Token de venta - 7K4D1J8G3
-----------------------------------------------------------------------------------------------------------------------------

Necesito que la herramienta extraiga la Fruta junto al token y lo almacene de esa forma , no hayo como automatizarlo , :( me da es las frutas por un lado y los token por otro lado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como creo una herramienta que me permita la automatizacion de la extracion de un txt

Publicado por Itz (4 intervenciones) el 26/02/2024 23:28:58
Hola buenas tardes asi mas o menos intento desarrollar el codigo para la herramienta :

--------------------------------------------------------------------------------------------------------------------------------------------------------------
with open("texto.txt", "r") as archivo:
palabras = contenido.split()
palabras_clave = []

def limpiar_palabra(palabra):
caracteres_validos = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789\.@#%;:_-'
almacenar_palabra = caracteres_validos
return almacenar_palabra

for palabra in palabras:
palabra_buscada = palabra_encontrada(palabra)
if palabra_buscada and palabra_buscada not in palabras_clave:
palabras_clave.append(palabra_buscada)

with open("palabra_clave_extraida.txt","w") as archivo_palabras:
for palabra_clave in palabras_clave:
archivo_palabras.write(f'{palabra_clave}\n')

print('Las palabras clave han sido extraidas y almacenadas en el archivo "palabras_claves_extraidas.txt"')


-------------------------------------------------------------------------------------------------------------------------------------------------------------
Aca te muestro los datos :
-------------------------------------------------------------------------------------------------------------------------------------------------------------

-FRUNaranjas: Token de venta - 5R9G2D1F8
-FRUMelón: Token de venta - 7S3H6K9A2
-FRUSandía: Token de venta - 4T6J8L1Z5
-FRULimones: Token de venta - 2C8V7B3N6
-FRUUvas: Token de venta - 9Q5W1E3R7
-FRUMelocotón: Token de venta - 1X4Z6Y8I3
-FRUFresas: Token de venta - 3P6O9A2L4
-FRUPiña: Token de venta - 8E1F5W2Z7
-FRUManzanas: Token de venta - 5T9H3Y7R1
-FRUPlátanos: Token de venta - 2G6J4D8K5
-FRUPeras: Token de venta - 9X4V6C1B3
-FRUMangos: Token de venta - 1N5Q8Z3S7
-FRUPapayas: Token de venta - 6H9I3F2W5
-FRUCerezas: Token de venta - 4Y7Z1N8Q2
-FRUKiwis: Token de venta - 8L2O5P9A3
-FRUMoras: Token de venta - 1E6R9T4U7
-FRUDuraznos: Token de venta - 3V5X7B2C8
-FRUGranadas: Token de venta - 7K4D1J8G3
-----------------------------------------------------------------------------------------------------------------------------

Necesito que la herramienta extraiga la Fruta junto al token y lo almacene de esa forma , no hayo como automatizarlo , :( me da es las frutas por un lado y los token por otro lado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como creo una herramienta que me permita la automatizacion de la extracion de un txt

Publicado por Costero (92 intervenciones) el 27/02/2024 17:45:44
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
# Less performance, but more memory efficient ...
import os
import re
 
SEPARATOR = "|"
NEW_LINE = "\n"
 
 
pattern = re.compile('-FRU(\w+).+- (.+)', re.IGNORECASE)
output_file = 'regex_test/output.txt'
input_file = 'regex_test/input.txt'
 
def write(content):
    with open(output_file, 'a') as file:
        file.write(content)
 
if os.path.exists(output_file):
    os.remove(output_file)
 
with open (input_file, "r") as myfile:
    write("Fruta" + SEPARATOR + "Token" + NEW_LINE)
    while True:
        content=myfile.readline()
        if not content:
            break
        groups = pattern.match(content)
        write(groups[1] + SEPARATOR + groups[2] + NEW_LINE)

o

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# More performance, but for large files can run out of memory ...
import re
 
SEPARATOR = "|"
NEW_LINE = "\n"
 
pattern = re.compile('-FRU(\w+).+- (.+)', re.IGNORECASE)
output_file = 'regex_test/output.txt'
input_file = 'regex_test/input.txt'
 
def write(contents):
    with open(output_file, 'w') as file:
        for content in contents:
            file.write(content)
 
contents = []
contents.append("Fruta" + SEPARATOR + "Token" + NEW_LINE)
 
with open (input_file, "r") as file:
    lines = file.readlines()
    for content in lines:
        groups = pattern.match(content)
        contents.append(groups[1] + SEPARATOR + groups[2] + NEW_LINE)
    write(contents)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como creo una herramienta que me permita la automatizacion de la extracion de un txt

Publicado por Itz (4 intervenciones) el 28/02/2024 05:34:11
Hola gracias usado tu script pude desarrollar este otro :

El problema esta que no me correlaciona los key de las frutas que inician con FRU y que incluyendo la constante del valor FRU + 10 caracteres mas en promedio y sus respectivos token de ventas que estan disperso en todo el script , solo me esta extrayendo los key dejando un espacio sin los token :

import re

def extraer_palabras_clave(texto):
# Patrón para encontrar palabras que comiencen con "FRUTA" seguidas de cualquier carácter que no sea un espacio en blanco
patron = re.compile(r'\bFRU[^\s]*', re.IGNORECASE)
palabras_clave = {}

# Buscar todas las coincidencias en el texto
for coincidencia in patron.finditer(texto):
inicio_palabra = coincidencia.start()
# Buscar valores entre comillas simples después de la palabra "FRUTA"
valores = re.findall(r"'([^']{42})'", texto[inicio_palabra:])
if valores:
palabras_clave[coincidencia.group(0)] = valores[0]

# Ordenar las palabras clave alfabéticamente
palabras_clave_ordenadas = sorted(palabras_clave.items())

return palabras_clave_ordenadas

def escribir_palabras_clave(archivo_salida, palabras_clave_ordenadas):
with open(archivo_salida, 'w', encoding='utf-8') as file:
for palabra, valor in palabras_clave_ordenadas:
file.write(f"{palabra}: {valor}\n")

# Nombre de los archivos de entrada y salida
archivo_entrada = 'frutas_ensayo/frutas.txt'
archivo_salida = 'frutas_ensayo/frutasalida.txt'

# Intentar leer el archivo con diferentes codificaciones
codificaciones = ['utf-8', 'latin-1', 'ISO-8859-1', 'Windows-1252', 'cp1252', 'utf-16', 'ASCII']
texto = None
for codificacion in codificaciones:
try:
with open(archivo_entrada, 'r', encoding=codificacion) as file:
texto = file.read()
print(f"El archivo se ha leído exitosamente utilizando la codificación: {codificacion}")
break
except UnicodeDecodeError:
print(f"Error al leer el archivo con codificación {codificacion}. Intentando con la siguiente...")

# Verificar si se pudo leer el texto del archivo
if texto is not None:
# Extraer y ordenar las palabras clave
palabras_clave_ordenadas = extraer_palabras_clave(texto)

# Escribir las palabras clave ordenadas en el archivo de salida
escribir_palabras_clave(archivo_salida, palabras_clave_ordenadas)

print(f"Las palabras clave se han guardado en '{archivo_salida}'")
else:
print("No se pudo leer el archivo con ninguna codificación compatible.")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar