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

回答編集履歴

2

質問を受けて修正

2025/05/29 05:27

投稿

TakaiY
TakaiY

スコア14545

answer CHANGED
@@ -11,6 +11,7 @@
11
11
  のように入っています。
12
12
 
13
13
  質問のコードを生かして直すならこんな感じでしょうか。
14
+ ★ 質問を受けて修正。 CSVの1行目のヘッダーをスキップ。
14
15
  ```python
15
16
  filename1 = "A-1.csv"
16
17
  file1 = open(filename1, 'w')
@@ -22,13 +23,13 @@
22
23
 
23
24
  with open("sample1.dat", "r", encoding="utf-8") as f:
24
25
  list = f.readlines()
25
- for i in list:
26
+ for i in list[1:]:
26
27
  word = i.split()
27
28
  data.append(word)
28
29
 
29
30
  with open("sample2.dat", "r", encoding="utf-8") as f:
30
31
  list = f.readlines()
31
- for i in list:
32
+ for i in list[1:]:
32
33
  word = i.split()
33
34
  data.append(word)
34
35
 

1

追記

2025/05/29 02:00

投稿

TakaiY
TakaiY

スコア14545

answer CHANGED
@@ -1,4 +1,5 @@
1
+ With構文の書き方や2つあることが原因ではありません。
1
- 同じデータが2つ書けてしまう原因は、31行目からのfor文で参照しているデータの範囲が、file1から読んだものになっているからです。
2
+ 同じデータが2つ書けてしまう原因は、配列dataの中にあるデータの捉えかたが間違えていて、31行目からのfor文で参照しているデータの範囲が、file1から読んだものになっているからです。
2
3
 
3
4
  処理では、file1とfile2を順に読んで、配列dataに順にappendしていますから、質問の場合、**2つめのループの段階では**
4
5
  ```text