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

回答編集履歴

2

修正

2018/10/11 07:44

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  出力ファイルを開くのは一度だけにし、`w`モードで開きます。
2
2
  ```Python
3
3
  with open('input/books.csv', encoding='utf-8') as fin, \
4
- with open('output/book_python.csv', 'w', encoding='utf-8') as fout:
4
+ open('output/book_python.csv', 'w', encoding='utf-8') as fout:
5
5
 
6
6
  for row in fin:
7
7
  row_format = row.rstrip().split(',')
@@ -9,4 +9,9 @@
9
9
  fout.write(row)
10
10
  ```
11
11
 
12
- 追記モード`a`は少し使いづらい印象です。
12
+ 追記モード`a`は少し使いづらい印象です。
13
+
14
+ > PyQというサイトの問題なのですがoutput/book_python.csvの中身を消した状態で一度だけ実行をしても2回ずつ書き込まれてしまい間違いと表示がされてしまいます。
15
+ コード自体は間違いはないのでしょうか?
16
+
17
+ 問題ないと思いますが。[Wandbox](https://wandbox.org/permlink/jObBJ44LWsr823xc)

1

修正

2018/10/11 07:44

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,10 +1,12 @@
1
1
  出力ファイルを開くのは一度だけにし、`w`モードで開きます。
2
2
  ```Python
3
3
  with open('input/books.csv', encoding='utf-8') as fin, \
4
- with open('output/book_python.csv', 'a', encoding='utf-8') as fout:
4
+ with open('output/book_python.csv', 'w', encoding='utf-8') as fout:
5
5
 
6
6
  for row in fin:
7
7
  row_format = row.rstrip().split(',')
8
8
  if row_format[2] == "Python-勉強会":
9
9
  fout.write(row)
10
- ```
10
+ ```
11
+
12
+ 追記モード`a`は少し使いづらい印象です。