2016-12-12 4 views
1

Ich las ein String-Daten aus einem TCP-Port und es sieht wie folgt aus:String np.matrix zurück zu String

data_string = '1,1.0,2.4,4,3,0.0,0.0,0.0,7,-2.5,80,1481307702.180;2,3.3,10.1,2,2,0.0,-0.0625,-0.25,7,-20.0,3,1481307702.180;3,-0.2,1.5,4,4,0.0,0.0,0.0,7,-7.0,80,1481307702.180;4,-3.7,25.4,2,1,-0.0625,0.0,0.0,7,19.5,3,1481307702.180;5,-3.2,5.8,4,4,-0.0625,0.0,0.0,7,-5.0,39,1481307702.180;6,2.2,13.4,2,2,0.0,0.0,-0.25,6,-24.5,3,1481307702.180;7,-2.4,19.9,2,1,0.0,0.0625,0.0,7,-23.0,5,1481307702.180;8,0.0,0.0,0,0,0.0,0.0,0.0,1,0.0,0,1481307702.180;9,0.6,7.7,4,3,0.0625,0.0625,0.0,7,-18.5,6,1481307702.180' 

I np.matrix(data_string) verwenden, um die Daten in eine numpy Matrix zu setzen.

Nachdem ich einige Daten manipuliert habe, möchte ich sie wieder in das gleiche String-Format schreiben. Irgendein Rat?

+0

Möchten Sie in eine Zeichenfolge konvertieren oder in eine Datei schreiben? – FTP

+0

In Zeichenfolge konvertieren. Ich schreibe zurück in die Steckdose. – BadProgrammer

Antwort

1

Wenn m eine Matrix ist, wird die folgende wandelt es in einen String des angegebenen Formats:

new_string = ";".join([",".join(map(str, row)) for row in m.tolist()]) 

ich mit Ihren Daten getestet; Die Ausgabe ist fast die gleiche wie die ursprüngliche data_string, außer dass 1 zu 1.0 wird (aber deine 1 war sowieso ein float, also sollte das in Ordnung sein).

+0

Perfekt! Vielen Dank! – BadProgrammer