0

I am trying to encode tweets from unicode to utf-8 but I get the following error gets logged on CLI when I execute the file:

File "PI.py", line 21, in analyze
text += s.text.encode('utf-8')
TypeError: Can't convert 'bytes' object to str implicitly

Here is my code:

text = "" 
for s in statuses:
    if (s.lang =='en'):
        text += s.text.encode('utf-8')

And here are the packages I am importing:

import sys
import operator
import requests
import json
import twitter
from watson_developer_cloud import PersonalityInsightsV2 as PersonalityInsights

How can I get the strings (tweet text) to be converted to the right encosing properly so I can use them? What am I doing wrong?

Maximilian Peters
  • 30,348
  • 12
  • 86
  • 99

1 Answers1

1

You should initialize your text as bytes by appending a leading b:

text = b"" 

This will allow the new bytes object to be concatenated without errors to the existing bytes object text

Moses Koledoye
  • 77,341
  • 8
  • 133
  • 139