script for updating OpenGNTGloss & NET2Words
This commit is contained in:
parent
41c947f5bd
commit
dc2c1e46ad
|
@ -0,0 +1,55 @@
|
|||
# This file is created for merging latest work on OpenGNTGloss and NET2Words into main database file OpenGNT.csv
|
||||
|
||||
import re
|
||||
|
||||
inputFile = 'OpenGNTGloss_NET2Words_updating.csv'
|
||||
outputFile = 'OpenGNTGloss_NET2Words.csv'
|
||||
databaseFile = 'OpenGNT.csv'
|
||||
|
||||
# export latest glosses
|
||||
|
||||
f = open(inputFile,'r')
|
||||
newData = f.read()
|
||||
f.close()
|
||||
|
||||
newData = re.sub('^.*?{([^{}]*?)}\t〈([^|]*?)|.*?$', r'\2\t\1*', newData, flags=re.M)
|
||||
newData = re.sub('^.*?[^*]\n', '', newData, flags=re.M)
|
||||
newData = re.sub('*', '', newData)
|
||||
|
||||
f = open(outputFile,'w')
|
||||
f.write(newData)
|
||||
f.close()
|
||||
|
||||
# insert latest glosses into database
|
||||
|
||||
f = open(databaseFile,'r')
|
||||
oldData = f.read()
|
||||
f.close()
|
||||
|
||||
newData = newData + oldData
|
||||
|
||||
f = open(databaseFile,'w')
|
||||
f.write(newData)
|
||||
f.close()
|
||||
|
||||
# sort data
|
||||
|
||||
lines = open(databaseFile, 'r').readlines()
|
||||
f = open(databaseFile, 'w')
|
||||
|
||||
for line in sorted(lines, key=lambda line: line.split()[0]):
|
||||
f.write(line)
|
||||
|
||||
f.close()
|
||||
|
||||
# merge glosses
|
||||
|
||||
f = open(databaseFile,'r')
|
||||
newData = f.read()
|
||||
f.close()
|
||||
|
||||
newData = re.sub(r'^(.*?\t)(.*?)\n\1([^\n〔]*?〔[^\n〔]*?〔[^\n〔]*?〔[^\n〔]*?〔[^\n〔]*?〔[^\n〔]*?〔[^\n|]*?|[^\n|]*?|)([^\n|]*?|[^\n|]*?)〕', r'\1\3\2〕', newData, flags=re.M)
|
||||
|
||||
f = open(databaseFile,'w')
|
||||
f.write(newData)
|
||||
f.close()
|
Loading…
Reference in New Issue