質問編集履歴

1

進捗を書きました。

2022/04/17 16:03

投稿

ques346
ques346

スコア47

test CHANGED
File without changes
test CHANGED
@@ -58,3 +58,41 @@
58
58
  UnicodeDecodeError: 'utf-8' codec can't decode byte 0x81 in position 199: invalid start byte
59
59
  ```
60
60
  yomitori.pyは上のコードを書いたファイルです、これはたぶん「,」を含んでるものを読み取った結果のエラーだと思うのですが、では「,」の左側までを、各行読み取っていくにはどのようにすれば良いのでしょうか・・・。
61
+
62
+ 色々調べて、
63
+ ```python
64
+ # 01 文章を単語に分ける
65
+ # 複数の区切り文字を指定するため re.split を使う
66
+ words = re.split(r'\s|\,|\.|\(|\)', target_text.lower())
67
+
68
+ # 02 集計する
69
+ counter = Counter(words)
70
+
71
+ # 02.5 要素・出現回数のリスト個別に取得
72
+ values, counts = zip(*counter.most_common())
73
+
74
+ # 02.6 csv出力
75
+ with open("eigo.csv", "a", newline="") as f:
76
+ writer = csv.writer(f)
77
+ writer.writerows(values)
78
+ ```
79
+
80
+ こうすることにしました、まず初めの説明。そもそもcounter.most_commonは文字と頻出数の2つのリストに分けて取得ができるようで、こうして文字の方であるvaluesのみを取る事にしました。
81
+
82
+ ```output(values)
83
+ ('', 'of', 'the', 'in', 'was', '0', 'at', 'and', 'g', 'for', '5', 'a', 'ph', 'with', 'to', 'were', 'pga', '1', 'ao', 'natto', 'b', 'by', 'buffer'・・・)
84
+ ```
85
+
86
+ そのvaluesをcsvに書き込もうとしました、文字コードのエラーが生じないように。実際に生じませんでしたが、できたファイルは・・・
87
+
88
+ ```eigo.csv
89
+ ,364
90
+ of,44
91
+ the,34
92
+ in,25
93
+ was,21
94
+ 0,18
95
+ ・・・
96
+ ```
97
+
98
+ このように、変わってません、なぜか「,」と「数字」が相変わらず入ってます。valueには英語のみのはずなのになぜ??