回答編集履歴

1

追記

2022/11/22 11:00

投稿

TakaiY
TakaiY

スコア12781

test CHANGED
@@ -1,3 +1,27 @@
1
1
  質問のソースコードをこちらで動かしてみたところ、ちゃんと想定どおりの結果が出力されました。
2
2
 
3
3
  ソースコードもしくは、元データが提示のものと異なるのではないでしょうか。
4
+
5
+ ---
6
+ 追記
7
+
8
+ > 5行目があるとそれ以降のデータを表示できないので、5行目のようなパターンのときは読み込まない。 もしくはA20,B30C40のように表示させたいです。
9
+
10
+ 5カラム以外のデータは飛ばすということであれば、リストの数を数えて5でなければ次に行くというコードにすればいいでしょう。
11
+ リストはlen()で数えられます。
12
+
13
+ 数が足りないor多い場合にも対応させたいのであれば、考えかたを変える必要があります。
14
+
15
+ ```
16
+ alfa_list = ['A', 'B', 'C', 'D', 'E']
17
+ with open('sample.txt')as f:
18
+ reader =csv.reader(f)
19
+ for row in reader:
20
+ msg_list = []
21
+ for a, b in zip(alfa_list, row):
22
+ msg_list.append(a+b)
23
+ msg = ",".join(msg_list)
24
+ print(msg)
25
+ ```
26
+ アルファベットのリストを読んだデータの行をzipで組み合わせて、くっつけてリストにして、最後にカンマで結合しています。
27
+ zipは少ない方に合せて動いてくれますので、少なくてもOKです。 なので、アルファベットのリストを増やしておけば5つより多い行にも対応できます。