Python - Guardar datos de un .txt

   
Vista:

Guardar datos de un .txt

Publicado por Antonio (4 intervenciones) el 26/09/2017 12:14:57
Buenas a todos tengo una duda de como guardar los datos de un .txt que están de tal forma:

Datos 1
1.0 2.0
1.0 3.0
2.0 3.0

Elementos 1
3.0 32.0
4.1 54. 6

Datos 2
2.2 1.0
23.0 9.0
32.0 2.0
ir guardándolos en diferentes matrices nombrando a estas con el nombre que tienen. que queden tal que así Datos1=[[1.0,2.0][1.0,3.0][2.0,3.0]], etc...

Muchas gracias de antemano
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 abzerox

Guardar datos de un .txt

Publicado por abzerox (53 intervenciones) el 27/09/2017 05:27:32
Hola hice un pequeño código que capaz te sirva:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import re
 
 
def load_data_from_file(file):
    data = {}
    with open(file, 'r') as f:
        current_header = None
        for line in f.readlines():
            line = line.strip().replace('\n', '')
            if line != '':
                if re.findall('^[\d+\s.]+$', line):
                    data[current_header].append([float(x) for x in line.split()])
                else:
                    current_header = line
                    data[current_header] = []
    return data

Pruebalo asi:

1
data = load_data_from_file('file.txt')

Lo anterior retorna un diccionario de la forma siguiente:
1
2
3
4
5
6
7
8
9
10
11
{
    'Datos 1': [
        [1.0, 2.0], [1.0, 3.0], [2.0, 3.0]
    ],
    'Datos 2': [
        [2.2, 1.0], [23.0, 9.0], [32.0, 2.0]
    ],
    'Elementos 1': [
        [3.0, 32.0], [4.1, 54. 6]
    ]
}

Puedes acceder a los elementos de este asi:
1
2
print(data['Datos 1'][0]) # [1.0, 2.0]
print(data['Datos 1'][0][0]) # 1.0

Nos comentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Guardar datos de un .txt

Publicado por Antonio (4 intervenciones) el 27/09/2017 09:18:11
Muchisimas gracias por su ayuda, la función funciona a las mil maravillas.
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