回答編集履歴
1
ソースコードの訂正
answer
CHANGED
@@ -1,30 +1,34 @@
|
|
1
1
|
下記の一致の摘出部分がおかしいかと思います。
|
2
2
|
|
3
|
+
b.csvのリードでEOFまで読んでしまうので、先頭に
|
4
|
+
リードポインタを戻さないと2回目のループができない。
|
3
|
-
|
5
|
+
のが原因のようです。ですのでラフに直すと下記で動くかと思います。
|
4
6
|
|
5
7
|
```python
|
6
|
-
|
7
8
|
import csv
|
8
9
|
import re
|
9
10
|
|
10
|
-
f1 = open(
|
11
|
+
f1 = open("a.csv", "rt")
|
11
12
|
reader1 = csv.reader(f1)
|
12
|
-
next(reader1)
|
13
13
|
|
14
|
-
f2 = open(
|
14
|
+
f2 = open("b.csv", "rt")
|
15
15
|
reader2 = csv.reader(f2)
|
16
16
|
|
17
|
-
f3 = open(
|
17
|
+
f3 = open("c.csv","wt")
|
18
|
-
writer = csv.writer(f3, lineterminator=
|
18
|
+
writer = csv.writer(f3, lineterminator="\n")
|
19
19
|
writer.writerow(['name'])
|
20
|
-
|
20
|
+
list = []
|
21
|
+
for columns2 in reader2:
|
22
|
+
list.append(columns2[0])
|
21
23
|
for columns1 in reader1:
|
22
|
-
for
|
24
|
+
for str in list:
|
25
|
+
print(str)
|
23
|
-
name = re.search(columns1[0],
|
26
|
+
name = re.search(columns1[0],str)
|
24
27
|
if name:
|
25
|
-
writer.writerow([name])
|
28
|
+
writer.writerow([name.group(0)])
|
26
29
|
|
27
30
|
f1.close()
|
28
31
|
f2.close()
|
29
32
|
f3.close()
|
33
|
+
|
30
34
|
```
|