回答編集履歴
5
修正
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
読み込むファイルのエンコーディングはUTF-8であることが前提です。
|
1
|
+
下記読み込むファイルのエンコーディングはUTF-8であることが前提です。
|
2
2
|
|
3
3
|
```
|
4
4
|
lines_seen = set()
|
4
エンコーディングを指定。
answer
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
+
読み込むファイルのエンコーディングはUTF-8であることが前提です。
|
2
|
+
|
1
3
|
```
|
2
4
|
lines_seen = set()
|
3
5
|
outfile = open("out.txt", "w")
|
4
|
-
for line in open("in.txt", "r"):
|
6
|
+
for line in open("in.txt", "r", encoding="utf-8"):
|
5
7
|
try:
|
6
8
|
# 「1行にカンマは必ず存在する」(この文言だとカンマは1つだけとは限らないので先頭のみ切り出す)
|
7
9
|
key, data = line.split(',',1)
|
3
追加(カンマが存在しない行が存在する場合に対応)
answer
CHANGED
@@ -1,12 +1,16 @@
|
|
1
1
|
```
|
2
2
|
lines_seen = set()
|
3
|
-
outfile = open("out.txt", "w"
|
3
|
+
outfile = open("out.txt", "w")
|
4
|
-
for line in open("in.txt", "r"
|
4
|
+
for line in open("in.txt", "r"):
|
5
|
+
try:
|
5
|
-
|
6
|
+
# 「1行にカンマは必ず存在する」(この文言だとカンマは1つだけとは限らないので先頭のみ切り出す)
|
6
|
-
|
7
|
+
key, data = line.split(',',1)
|
8
|
+
except ValueError:
|
9
|
+
print("---カンマが存在しない行を読み込みました。スキップして処理を継続します。---")
|
10
|
+
continue
|
7
11
|
if key not in lines_seen:
|
8
|
-
# カンマ以前の部分(およびカンマ自身)を除いた部分のみ書き出す
|
9
12
|
outfile.write(data)
|
10
13
|
lines_seen.add(key)
|
11
14
|
outfile.close()
|
15
|
+
print("処理が完了しました。")
|
12
16
|
```
|
2
f
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
lines_seen = set()
|
3
3
|
outfile = open("out.txt", "w", encoding="utf-8")
|
4
4
|
for line in open("in.txt", "r", encoding="utf-8"):
|
5
|
-
# カンマは1つだけとは限らない場合もありそうので先頭のみ切り出す
|
5
|
+
# カンマは1つだけとは限らない場合もありそうなので先頭のみ切り出す
|
6
6
|
key, data = line.split(',',1)
|
7
7
|
if key not in lines_seen:
|
8
8
|
# カンマ以前の部分(およびカンマ自身)を除いた部分のみ書き出す
|
1
f
answer
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
# カンマは1つだけとは限らない場合もありそうので先頭のみ切り出す
|
6
6
|
key, data = line.split(',',1)
|
7
7
|
if key not in lines_seen:
|
8
|
+
# カンマ以前の部分(およびカンマ自身)を除いた部分のみ書き出す
|
8
9
|
outfile.write(data)
|
9
10
|
lines_seen.add(key)
|
10
11
|
outfile.close()
|