リスト型の数字や文字を書式?というか[]や,が出ないように出力したいです.
したいこととしては,以下のようなファイルがあり,これの左から3,4,5行目の値を10倍し
その倍した行だけ変更してほかの部分は変更せず,[]や,'',,が出ないように出力したいです.
1 39 21.594828 -18.062821 -2.148329 1 A 38 -1.50000 -1.50000 "IPT " " N " 7 -1 2E2EFF 0 0 0 0 1 1 1 1 1 4 1 1
2 2 -1.209242 3.773569 -3.198849 1 A 10 0.00000 0.00000 "IPT " " C " 6 0 1EE11E 0 0 0 0 2 2 2 1 2 4 2 1
3 2 -1.423336 4.877664 -4.110872 1 A 10 -0.11500 -0.11500 "IPT " " C " 6 0 1EE11E 0 0 0 0 3 3 3 1 3 4 3 1
4 2 -0.736323 6.078586 -3.853030 1 A 10 -0.11500 -0.11500 "IPT " " C " 6 0 1EE11E 0 0 0 0 4 4 4 1 4 4 4 1
これが続いていくようなファイルです.わかりづらくて申し訳ないですが,入りきらず折り返されているように見えますが実際は1EE11Eの後に0 0 0...が続いており上記の例では4列です.
プログラムは以下まで組めて3,4,5行目の10倍まではできています.
lang
1f = open(f'{os.getcwd()}/上記のファイル.txt') 2 frs = f.read().splitlines() 3 4 bai = int(10) 5 even_listx=[] 6 even_listy=[] 7 even_listz=[] 8 for i in frs: 9 t = i.split() 10 even_listx.append(float(t[2])) 11 even_listy.append(float(t[3])) 12 even_listz.append(float(t[4])) 13 14 listx = [i*bai for i in even_listx] 15 listy = [i*bai for i in even_listy] 16 listz = [i*bai for i in even_listz]
最後のlistx,listy,listzに10倍したものが入っていますこれを
1 39 215.94828 -180.62821 -21.48329 1 A 38 -1.50000 -1.50000 "IPT " " N " 7 -1 2E2EFF 0 0 0 0 1 1 1 1 1 4 1 1
2 2 -12.09242 37.73569 -31.98849 1 A 10 0.00000 0.00000 "IPT " " C " 6 0 1EE11E 0 0 0 0 2 2 2 1 2 4 2 1
3 2 -14.23336 48.77664 -41.10872 1 A 10 -0.11500 -0.11500 "IPT " " C " 6 0 1EE11E 0 0 0 0 3 3 3 1 3 4 3 1
4 2 -7.36323 60.78586 -38.53030 1 A 10 -0.11500 -0.11500 "IPT " " C " 6 0 1EE11E 0 0 0 0 4 4 4 1 4 4 4 1
という感じで出力したいです.よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー