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

質問編集履歴

2

完成したコードを追記

2018/09/18 22:00

投稿

Yukiya025
Yukiya025

スコア86

title CHANGED
File without changes
body CHANGED
@@ -61,4 +61,20 @@
61
61
  # 現状
62
62
  - 単語数は103個あるはずなのに0~4までしかcsvファイルに書き込まれていない。
63
63
 
64
- よろしくお願いしますorz
64
+ よろしくお願いしますorz
65
+
66
+ # できましたー!
67
+ キリル文字はutf-8だと文字化けするので、`utf-8-sig`を使用。
68
+
69
+
70
+ ```python
71
+ import csv
72
+ f = open('26and1.txt', 'r', encoding = 'utf-8-sig')
73
+
74
+ with open('26and1.csv', 'w', encoding = 'utf-8-sig') as file:
75
+ for line in f:
76
+ data = line.split()
77
+ for n in range(0, len(data)):
78
+ writer = csv.writer(file, lineterminator = '\n')
79
+ writer.writerow([data[n]])
80
+ ```

1

コード改善。しかし5つしかcsvファイルに書き込まれない

2018/09/18 22:00

投稿

Yukiya025
Yukiya025

スコア86

title CHANGED
File without changes
body CHANGED
@@ -12,7 +12,8 @@
12
12
 
13
13
 
14
14
  # 実現したいこと
15
+ .txtの内容を1単語ずつ.csvファイルに書き込みたい。なんとかcsvファイルに書き込めるまで改善できましたが、なぜか最初の5単語しかcsvファイルに書き込まれていません。
15
- .txt内容を1単語ずつ.csvファイルに書き込たい。
16
+ すべての単語csvファイルに書き込めるようにしたいです
16
17
 
17
18
  **成功イメージ**
18
19
  ![12and1](d1b18967f2821d1685ab956960e72bbf.png)
@@ -39,22 +40,25 @@
39
40
 
40
41
  # 上記でsplit()した単語をcsvファイルに書き込みたい
41
42
 
42
- **私が考えたコード (だけど動かない)**
43
+ **私が考えたコード (なぜリスト0-4しかcsvに書き込まれない)**
43
44
  ```python
44
45
  import csv
45
- f = open('12and1.txt', 'r', encoding = 'utf-8')
46
+ f = open('26and1.txt', 'r', encoding = 'utf-8-sig')
47
+
46
- with open('12and1.csv','w+',newline='', encoding = 'utf-8'):
48
+ with open('26and1.csv', 'w') as file:
47
49
  for line in f:
48
- print(line)
50
+ # print(line)
49
- sp_word = line.split()
51
+ data = line.split()
50
- print(sp_word)
52
+ # print(data[0:2])
53
+ for n in range(0, 103):
54
+ writer = csv.writer(file, lineterminator = '\n')
51
- sp_word.writerow()
55
+ writer.writerow([data[n]])
52
- pass
53
56
  ```
54
57
 
58
+ **出力結果**
59
+ ![コード出力](a16b0338c84aa8684bd55f28a8dbeea3.png)
60
+
55
61
  # 現状
56
- - `sp_word`がリスト形式になっているかcsvファイルに書き込ないのはわかる
62
+ - 単語数は103個あはずなのに0~4までしかcsvファイルに書き込まれていない。
57
- - `sp_word[n]`でcsvに書き込む場合for文の書き方がどうなるのかがわからない。
58
- - そもそもcsvファイルに書き込むときのwith文&for文の扱いがわからない。
59
63
 
60
64
  よろしくお願いしますorz