Escribir en archivo json
Publicado por Josafat (18 intervenciones) el 19/11/2018 17:25:56
Hola, quiero crear un archivo json con la siguiente estructura en base a un indice que tengo de url y palabras para que quede de la siguiente manera:
{"Indice":
[
{"p1":
[
{"url":"http:","freq":10},
{"url":"http:","freq":20},
{"url":"http:","freq":30}
]
},
{"p2":
[
{"url":"http:","freq":10},
{"url":"http:","freq":20},
{"url":"http:","freq":30}
]
}
]
}:
Y agregar en la lista de la palabra pX la nueva url y su frecuencia, y si hay mas palabras que se agrege una lista nueva así:
{"Indice":
[
{"p1":
[
{"url":"http:","freq":10},
{"url":"http:","freq":20},
{"url":"http:","freq":30}
]
},
{"p2":
[
{"url":"http:","freq":10},
{"url":"http:","freq":20},
{"url":"http:","freq":30}
]
},
{"pX":
[
{"url":"http:","freq":10},
{"url":"http:","freq":20},
{"url":"http:","freq":30}
]
}
]
Este es el código que esgtoy trabajando para leer las palabras y url de mi indice
}
{"Indice":
[
{"p1":
[
{"url":"http:","freq":10},
{"url":"http:","freq":20},
{"url":"http:","freq":30}
]
},
{"p2":
[
{"url":"http:","freq":10},
{"url":"http:","freq":20},
{"url":"http:","freq":30}
]
}
]
}:
Y agregar en la lista de la palabra pX la nueva url y su frecuencia, y si hay mas palabras que se agrege una lista nueva así:
{"Indice":
[
{"p1":
[
{"url":"http:","freq":10},
{"url":"http:","freq":20},
{"url":"http:","freq":30}
]
},
{"p2":
[
{"url":"http:","freq":10},
{"url":"http:","freq":20},
{"url":"http:","freq":30}
]
},
{"pX":
[
{"url":"http:","freq":10},
{"url":"http:","freq":20},
{"url":"http:","freq":30}
]
}
]
Este es el código que esgtoy trabajando para leer las palabras y url de mi indice
}
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
import io
import string, re
file=open("indicenormal.txt")
palabrasg=[]
def indiceinv(palabrasg):
ind=0
file2=open("indiceinvertido.txt",'w')
for palabra in palabrasg:
str1 = ''.join(palabra)
if ind==0:
file2.write(str1+"\n[\n]")
ind+=1
else:
file2.write("\n"+str1+"\n[\n]")
a=0
b=0
c=0
urls={}
inicio=0
termino=0
i=0
coma=0
palabra=''
frecuencia=''
for line in file:
if line[0]=='u':
urls[line]=line
print(line)
else:
for s in line:
if s=='(':
inicio=i
a=1
if s==',':
coma=i
b=1
if s==')':
termino=i
c=1
if a==1 and b==1 and c==1:
palabra=line[inicio:coma].strip('(,)')
frecuencia=line[coma:termino].strip('(,)')
if palabra not in palabrasg:
palabrasg.append(palabra)
#print(line,inicio,coma,termino)
print(palabra,frecuencia)
palabra=''
frecuencia=''
a=0
b=0
c=0
i+=1
i=0
print (urls)
print (palabrasg)
indiceinv(palabrasg)
- indicenormal.zip(269,0 B)
Valora esta pregunta


0