Python - RegEx con python

   
Vista:

RegEx con python

Publicado por SERGI (3 intervenciones) el 16/05/2017 08:23:39
Hola a todos soy nuevo, agradecería algún empujón de parte de alguien.
Estoy realizando un programilla y mi duda es la siguiente:

Tengo que coger los datos de un giroscopio y de un acelerómetro.
El mensaje que obtengo por pantalla es el siguiente:
890.71558, 3, 0.076, 9.809, 0.565, 4, -0.559, 0.032, -0.134
Donde:
Timestamp [sec] = 890.71558
Sensorid = 3
x, y, z, sensorid (gryo) = 0.076, 9.809, 0.565
Sensorid = 4
x, y, z (accelerometro) = -0.559, 0.032, -0.134

Simplemente yo lo resolví con tablas por ejemplo:
GiroX = [14]:[19]

Pero más adelante me di cuenta que la primera variable que es el tiempo va incrementándose y eso implica que la posición de la tabla también aumente. Por lo tanto, necesitaría una función tipo RegEx que pueda leer el 3, ya que siempre es contante, y a continuación poder las variables del Gyro (x, y, z). Mi problema és que no consigo crear una funcion para poder leer el 3, y luego empezar a guardar los datos

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 xve

RegEx con python

Publicado por xve (1601 intervenciones) el 16/05/2017 14:57:28
Hola Sergi, la manera que yo haria es así:
1
2
3
4
valores="890.71558, 3, 0.076, 9.809, 0.565, 4, -0.559, 0.032, -0.134"
valoresArray=valores.split(",")
 
print float(valoresArray[0])

Te vale?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

RegEx con python

Publicado por SERGI (3 intervenciones) el 16/05/2017 19:25:17
Buenas xve,

Con este programa lo que me saca es: 890.71558
Lo que yo necessitaria que saliera por el print es:
0.076, 9.809, 0.565, 4, -0.559, 0.032, -0.134

Muchas gracias por la ayuda, a ver si podemos solucionar.
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

RegEx con python

Publicado por CpA (33 intervenciones) el 16/05/2017 19:35:25
Pues si ya lo tienes... con el split separas la cadena por las comas, y en cada posición tienes uno de cada elemento...
Siguiendo tu lista, tendrías:

1
2
3
4
5
6
7
8
9
valores="890.71558, 3, 0.076, 9.809, 0.565, 4, -0.559, 0.032, -0.134"
 
valoresArray=valores.split(",")
 
print("Timestamp [sec] {}".format(valoresArray[0]))
print("Sensor Id: {}".format(valoresArray[1]))
print("Sensor gyro=> x{},  y{},  z{}".format(valoresArray[2],valoresArray[3],valoresArray[4]))
print("Sensor Id: {}".format(valoresArray[5]))
print("Acelerometro => x{},  y{},  z{}".format(valoresArray[6],valoresArray[7],valoresArray[8]))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Revisar política de publicidad