-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathreparse.py
More file actions
68 lines (60 loc) · 1.67 KB
/
reparse.py
File metadata and controls
68 lines (60 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# -*- coding: utf-8 -*-
"""
Usage: reparse.py DATAPATH
input=yodaqa csv outputs (sentences)
output=jacana formated files for use in save.py
"""
import os
import sys
import glob
QPATH="data/Qtrain.txt"
PPATH="data/Ptrain.txt"
NPATH="data/Ntrain.txt"
CPATH1="data/Clues1train.txt"
CPATH0="data/Clues0train.txt"
#TPATH="data/curated-test"
#TQPATH="data/Qtest.txt"
#TPPATH="data/Ptest.txt"
#TNPATH="data/Ntest.txt"
#TCPATH1="data/Clues1test.txt"
#TCPATH0="data/Clues0test.txt"
def reparse(PATH,QPATH,PPATH,NPATH,CPATH1,CPATH0):
q=open(QPATH,'w')
p=open(PPATH,'w')
n=open(NPATH,'w')
cp=open(CPATH1,'w')
cn=open(CPATH0,'w')
qnum=0
path=PATH+"/"+file
i=0
p.write("<A "+str(qnum)+">\n")
n.write("<A "+str(qnum)+">\n")
with open(path,'r') as f:
for line in f:
s=line.split(" ")
if(s[0]=="<Q>" and i==0):
q.write("<Q "+str(qnum)+">\n")
q.write(" ".join(s[1:]))
q.write("</Q>\n")
i+=1
qnum+=1
continue
elif(s[0]=="<Q>" and i!=0):
continue
if(s[0]=='1'):
p.write(" ".join(s[3:]))
cp.write(" ".join(s[1:3])+"\n")
else:
n.write(" ".join(s[3:]))
cn.write(" ".join(s[1:3])+"\n")
p.write("</A>\n")
n.write("</A>\n")
print ".",
q.close()
p.close()
n.close()
cp.close()
cn.close()
PATH = sys.argv[1]
reparse(PATH,QPATH,PPATH,NPATH,CPATH1,CPATH0)
#reparse(TPATH,TQPATH,TPPATH,TNPATH,TCPATH1,TCPATH0)