forked from psuarezserrato/curso-redes-python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
describe.py
72 lines (57 loc) · 1.67 KB
/
describe.py
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
69
70
71
72
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import csv
import json
import time
import re
from pprint import pprint
fileWords = 'palabras_credito.json'
fileTweets = 'credito.json'
out = 'conteo_credito.json'
words = []
listOfTweets = []
headerCsv = ['text']
#Abrimos el archivo de palabras
with open(fileWords, 'rb') as palabras:
# cargamos las palabras en una lista
for words in palabras:
words = json.loads(words)
for word in words:
headerCsv.append(word.encode('utf-8'))
with open("matriz_inversion.csv", "a") as outfile:
csvwriter = csv.writer(outfile)
csvwriter.writerow(headerCsv)
#Abrimos el archivo de tweets
with open(fileTweets, 'rb') as jsonFile:
# Por cada tweeet
for line in jsonFile:
try:
tw = json.loads(line)
text = tw['text']
# Creamos la estructura del json
# Donde text es el texto del tweet
# y Words son las palabras con el numero de veces que
# aparece cada palabra en el texto del tweet
dicTweets = {
'text':text,
'words':{}
}
# Por cada palabra en la lista contamos las veces que aparece en el texto
# Referencia: https://www.tutorialspoint.com/python/list_count.htm
for word in words:
dicTweets['words'][word] = text.count(word)
#listOfTweets.append(dicTweets)
with open(out,"a") as archivo:
archivo.write(json.dumps(dicTweets))
archivo.write('\n')
# *******************************************************
info = [text.encode('utf-8')]
for word in words:
info.append(text.count(word))
with open("matriz_credito.csv", "a") as outfile:
csvwriter = csv.writer(outfile)
csvwriter.writerow(info)
except Exception as e:
print e
#print len(listOfTweets)