回答編集履歴
4
追記
test
CHANGED
@@ -76,7 +76,7 @@
|
|
76
76
|
|
77
77
|
```
|
78
78
|
|
79
|
-
なので、U+2013 `–` の文字ですね。
|
79
|
+
なので、U+2013 `–` の文字ですね。 [https://unicode-table.com/en/2013/](https://unicode-table.com/en/2013/)
|
80
80
|
|
81
81
|
utf-8で不正な文字ではないかと思います。
|
82
82
|
|
3
追記
test
CHANGED
@@ -41,3 +41,55 @@
|
|
41
41
|
|
42
42
|
|
43
43
|
[https://docs.python.org/ja/3/library/functions.html#open](https://docs.python.org/ja/3/library/functions.html#open)の`errros`引数の項目を参照。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
----
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
追記
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
こちらの手元のファイルで218行目は
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
```plain
|
60
|
+
|
61
|
+
>>> x=open('glove.6B/glove.6B.100d.txt','br').readlines()
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
>>> x[217]
|
66
|
+
|
67
|
+
b'\xe2\x80\x93 -0.22111 -0.37868 -0.45325 0.14185 -0.41884 -0.068733 0.9203 -0.61626 -0.5716 -0.42955 1.2049 -1.2358 -0.26185 0.088171 0.75712 -0.24336 0.46966 0.15848 -0.63489 0.040005 0.28095 0.086989 0.80209 0.74317 0.30236 -0.57191 0.65167 -0.4509 1.1676 -0.060849 -0.85457 1.012 0.6167 -0.9409 -0.59359 -0.32423 0.31153 0.97604 -0.33894 0.32657 0.32848 -1.118 -0.090404 -0.61118 0.32629 -0.61908 0.9044 -0.8888 0.0023076 0.58002 -0.71818 -0.43466 0.55749 1.1147 -0.74757 -2.8426 -0.3132 -0.72711 0.16355 0.32031 -0.26561 0.28186 -0.86369 -0.25157 1.0981 -0.2622 -0.49901 0.071966 0.20213 0.072797 -0.23135 -0.022841 0.52705 0.25267 -0.081948 -0.53206 0.39748 0.53545 -0.89259 -0.64567 0.15596 0.022857 -0.29035 0.003132 -0.8019 0.29554 0.10346 -1.2921 0.31751 0.64262 -0.3628 0.15087 0.13307 1.1898 -0.31689 0.22648 -1.0675 -0.26161 0.080567 -1.2265\n'
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
>>> hex(ord(b'\xe2\x80\x93'.decode('utf-8')))
|
74
|
+
|
75
|
+
'0x2013'
|
76
|
+
|
77
|
+
```
|
78
|
+
|
79
|
+
なので、U+2013 `–` の文字ですね。
|
80
|
+
|
81
|
+
utf-8で不正な文字ではないかと思います。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
```plain
|
86
|
+
|
87
|
+
– -0.22111 -0.37868 -0.45325 0.14185 -0.41884 -0.068733 0.9203 -0.61626 -0.5716 -0.42955 1.2049 -1.2358 -0.26185 0.088171 0.75712 -0.24336 0.46966 0.15848 -0.63489 0.040005 0.28095 0.086989 0.80209 0.74317 0.30236 -0.57191 0.65167 -0.4509 1.1676 -0.060849 -0.85457 1.012 0.6167 -0.9409 -0.59359 -0.32423 0.31153 0.97604 -0.33894 0.32657 0.32848 -1.118 -0.090404 -0.61118 0.32629 -0.61908 0.9044 -0.8888 0.0023076 0.58002 -0.71818 -0.43466 0.55749 1.1147 -0.74757 -2.8426 -0.3132 -0.72711 0.16355 0.32031 -0.26561 0.28186 -0.86369 -0.25157 1.0981 -0.2622 -0.49901 0.071966 0.20213 0.072797 -0.23135 -0.022841 0.52705 0.25267 -0.081948 -0.53206 0.39748 0.53545 -0.89259 -0.64567 0.15596 0.022857 -0.29035 0.003132 -0.8019 0.29554 0.10346 -1.2921 0.31751 0.64262 -0.3628 0.15087 0.13307 1.1898 -0.31689 0.22648 -1.0675 -0.26161 0.080567 -1.2265
|
88
|
+
|
89
|
+
```
|
90
|
+
|
91
|
+
でした。
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
ファイルが壊れていないなら、`encoding='utf-8'`指定してもutf-8で不正でない文字をエラー扱いしていることになってしまいますね……。
|
2
修正
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
```python
|
28
28
|
|
29
|
-
f=open(os.path.join(glove_dir,'glove.6B.100d.txt'),encoding='utf-8')
|
29
|
+
f=open(os.path.join(glove_dir,'glove.6B.100d.txt'),encoding='utf-8', errors='backslashreplace')
|
30
30
|
|
31
31
|
for i, line in enumerate(f, start=1):
|
32
32
|
|
1
些細
test
CHANGED
@@ -32,7 +32,7 @@
|
|
32
32
|
|
33
33
|
if '\x93' in line:
|
34
34
|
|
35
|
-
print(i, 'data=', line)
|
35
|
+
print(i, 'data=', line)
|
36
36
|
|
37
37
|
```
|
38
38
|
|