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, refile=open("indicenormal.txt")
palabrasg=[]
def indiceinv(palabrasg):
ind=0file2=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=0b=0c=0urls={}
inicio=0termino=0i=0coma=0palabra=''
frecuencia=''
for line in file:if line[0]=='u':
urls[line]=line
print(line)
else: for s in line:if s=='(':
inicio=i a=1if s==',':
coma=i b=1if s==')':
termino=i c=1if 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=0i+=1
i=0print (urls)
print (palabrasg)
indiceinv(palabrasg)
- indicenormal.zip(269,0 B)
Valora esta pregunta


0
