【发布时间】:2015-03-01 14:17:01
【问题描述】:
我正在尝试打印到 lexic.txt,如下所示:
Palabra Tag Apariciones
mentales Adj 21
Joaquín_Sánchez_Garrido NP 1
tardíamente Adv 2
repito V 1
filipinos Adj 8
但我得到的输出如下:
Palabra Tag Apariciones
mentales Adj
21
Joaquín_Sánchez_Garrido NP
1
tardíamente Adv
2
repito V
1
filipinos Adj
8
这里是 Python 代码:
file=open('corpus.txt','r')
data=file.readlines()
file.close()
diccionario = {}
for linea in data:
linea.decode('latin_1').encode('UTF-8') # para los acentos
palabra_tag = linea.split('\n')
cadena = str(palabra_tag[0])
if(diccionario.has_key(cadena)):
aux = diccionario.get(cadena)
aux += 1
diccionario.update({cadena:aux})
else:
diccionario.update({cadena:1})
outfile = open('lexic.txt', 'w')
outfile.write('Palabra\tTag\tApariciones\n')
for key, value in diccionario.iteritems() :
s = str(value)
outfile.write(key +" "+s+'\n')
outfile.close()
示例输入文件:
Al Prep
menos Adv
cinco Det
reclusos Adj
murieron V
en Prep
las Det
últimas Adj
24 Num
horas NC
en Prep
las Det
cárceles NC
de Prep
Valencia NP
y Conj
Barcelona NP
en Prep
incidentes NC
en Prep
los Det
que Pron
su Det
基本上corpus.txt是一个word+tag的训练集,所以程序读取所有的输入文件,写出一个带有word+tag和文件出现次数的输出文件。
有人可以帮我得到想要的结果吗?我是 Python 的新手...
提前致谢
【问题讨论】:
-
为什么要标记机器学习?
-
@tourniquet_grab 现在可以了吗?
-
也许
outfile.write(key + '\n' + s + '\n')? -
@HerrActress 不,'\n' 是换行,我要相反,保持键和值在同一行
-
@gerard 啊抱歉,我以为你想要的正好相反