回答編集履歴
1
追記
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つより多い行にも対応できます。
|