teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

出力形式が違ったので修正

2020/11/07 00:39

投稿

Moineau26518805
Moineau26518805

スコア44

answer CHANGED
@@ -1,14 +1,17 @@
1
1
  なるべくForは使わずに、joinなどを使用する方が早いと思いますが、
2
2
  確認していないのでどれくらい早くなるかはわからないですね
3
3
 
4
+ for文での遅延だけでなく、ファイルIOの遅延も考えると、
5
+ あらかじめlistをcsv形式のstringに変換しておいて
6
+ 書き込むことの方が早いです
7
+
4
8
  ```Python
5
9
  import numpy as np
6
10
 
7
11
  sample = [[[0,0,0],[5,5,5]],[[1,1,1],[2,3,2]]]
8
12
 
9
-
10
13
  def ndarray_to_csv(file_name, ndarray):
11
- ndarray = "\n".join([str(n) for n in ndarray])
14
+ ndarray = "\n".join([",".join([str(n) for n in narray]) for narray in ndarray])
12
15
  with open(file_name, 'w') as f:
13
16
  f.write(ndarray)
14
17