回答編集履歴

1

コード追記

2019/08/24 11:11

投稿

can110
can110

スコア38262

test CHANGED
@@ -1,3 +1,55 @@
1
1
  入力ファイルの区切り文字がタブの場合だと正常に動作しますが**半角空白**などだとエラーが再現します。
2
2
 
3
3
  入力ファイルの区切り文字を確認ください。
4
+
5
+ 以下検証コードです。
6
+
7
+ ```Python
8
+
9
+ from io import StringIO
10
+
11
+
12
+
13
+ def to_dict(s):
14
+
15
+ lines = StringIO(s).readlines()
16
+
17
+
18
+
19
+ new_lines = []
20
+
21
+ for line in lines:
22
+
23
+ line = line.rstrip('\n')
24
+
25
+
26
+
27
+ if line != '':
28
+
29
+ new_lines.append(line)
30
+
31
+
32
+
33
+ separate = []
34
+
35
+
36
+
37
+ for line in new_lines:
38
+
39
+ sp = line.split('\t')#1行データをタブの所で分割
40
+
41
+ separate.append(sp) #分割したあとに2要素のリストをリストseparateに追加
42
+
43
+
44
+
45
+ words = dict(separate) #dict()関数で辞書オブジェクトを作る。
46
+
47
+ return words
48
+
49
+
50
+
51
+ print( to_dict('apple\tりんご\nbanana\tバナナ\n')) # {'apple': 'りんご', 'banana': 'バナナ'}
52
+
53
+ print( to_dict('apple りんご\nbanana バナナ\n')) # ValueError: dictionary update sequence element #0 has length 1; 2 is required
54
+
55
+ ```