2017-02-04 5 views
0

Je dois supprimer hexadécimal des chaînes qui ont été converties à partir d'octets dans Python3.convertir les octets en piqûres et éliminer les hexs dans les données twitter

Je peux convertir des octets en chaînes, mais je n'arrive pas à trouver mon chemin pour encoder l'hexagone ou le supprimer automatiquement. J'ai essayé d'encoder en ASCII mais ça ne marche pas.

Mon texte donne une valeur sous la clé "tweet_text" dans une liste de dictionnaires. Voici mon code:

for d in sheet_data: 
     just_text = d['tweet_text'] 
     print('This is "just_text" type: ', type(just_text)) 
     just_text_strings = str(just_text) 
     print('This is "just_text_strings" type: ', type(just_text_strings)) 
     just_text_clean = just_text_strings.encode('ascii', errors='ignore') 

Voici ma sortie:

This is "just_text" type: <class 'bytes'> 
This is "just_text_strings" type: <class 'str'> 
b'b"[/Very seldom~ will someone enter your life] and you won\'t have to question\\xc3\\xa2\\xe2\\x82\\xac\\xc2\\xa6 "' 

Je vous remercie des conseils ou des idées pour résoudre ce problème .... ce sont des données Twitter, en cas qui aide

Répondre

0

Le problème n'est pas le codage de chaîne, mais plutôt le type de codage de terminal. J'ai couru cette commande dans le terminal de Windows:

chcp 65001 

Juste tapé cela dans le terminal. Vous avez cette sortie:

Active code page: 65001 

puis les caractères s'affichaient correctement.

Je ne pouvais pas encore retirer les caractères, comme je veux le faire, mais au moins le 'b' avant que les chaînes et les hexs ne disparaissent.