Ich habe folgende Stück Code, das ichPython 3 nicht Bytes verketten, um eine Liste auf str
import json
import textProcess as tp
review = open('../inres_review.json')
vocabulary = open('../vocabulary.txt','w+')
label = open('../label.txt','w+')
data = open('../data.txt','w+')
voc = []
revs = []
lab = []
dat = []
i=1
for line in review:
jre = json.loads(line)
jstar = jre['stars']
text = jre['text']
lab.append(jstar)
ws = tp.removeStopPunc(text)
revs.append(ws)
voc += ws
i += 1
for i in lab:
label.write(str(i)+"\n")
print ("label created successfully!")
voc = list(set(voc))
print (len(voc))
print (type(i))
for i in voc:
vocabulary.write(i.encode('UTF-8')+"\n")
print ("Vocabulary created successfully!")
for revid, rev in enumerate(revs):
dat.append({})
for w in rev:
if w in voca:
k = voca.index(w)+1
if k not in dat[revid]:
dat[revid][k] = 1
else:
dat[revid][k] += 1
print (len(revs))
for revid, rev in enumerate(dat):
for k,v in rev.iteritems():
s = str(revid+1)+' '+str(k)+' '+str(v)+'\n'
data.write(s)
print ("successfully create data")
review.close()
vocabulary.close()
label.close()
data.close()
Allerdings laufen bin versucht, egal was ich Änderungen, die ich umsetzen erhalte ich die folgende Error. Kann jemand bitte darauf hinweisen, was hier falsch ist?
TypeError Traceback (most recent call last)
<ipython-input-18-21a3dc9eb8ad> in <module>()
33 print (type(i))
34 for i in bvoca:
---> 35 vocabulary.write(i.encode('UTF-8')+"\n")
36 print ("successfully create vocabulary!")
37
TypeError: can't concat bytes to str
Jede Hilfe wird geschätzt!
Die oben genannten Probleme behoben wurden .. aber wenn ich meinen Code ausführen, sieht aus wie der letzte Block des Codes nicht ausgeführt werden, weil meine Datei data.txt leer ist, auch die Ausgabe druckt nicht len (revs) und "erfolgreich erstellte Daten". Irgendeine Idee was das sein könnte? –