import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from urllib.request import urlopen

#Reading the text of novel from a website
huck_fin_url = 'http://www.gutenberg.org/files/76/76-0.txt'
df = urlopen(huck_fin_url)
huck_fin_text = df.read()
#print(huck_fin_text)
huck_fin_chapters = huck_fin_text.split('CHAPTER ')[1:]

Erreur

Fichier "/Users/richxxxxx/Documents/ReadBooks.py", ligne 19, dans huck_fin_chapters = huck_fin_text.split ('CHAPITRE') [1:]

TypeError: un objet de type octets est requis, pas 'str'

0
Richard Ewing 7 mars 2019 à 05:58

2 réponses

Meilleure réponse

urlopen renvoie un flux d'octets plutôt qu'une chaîne, et .split() n'est pas disponible pour ces objets. Vous devrez d'abord le décoder en fonction du jeu de caractères correct:

from urllib.request import urlopen

#Reading the text of novel from a website
huck_fin_url = 'http://www.gutenberg.org/files/76/76-0.txt'
df = urlopen(huck_fin_url)
huck_fin_text = df.read().decode("utf8")
#print(huck_fin_text)
huck_fin_chapters = huck_fin_text.split('CHAPTER ')[1:]
0
rgk 7 mars 2019 à 03:06
from urllib.request import urlopen

huck_fin_url = 'http://www.gutenberg.org/files/76/76-0.txt'  
df = urlopen(huck_fin_url)  
huck_fin_text = str(df.read())
huck_fin_chapters = huck_fin_text.split('CHAPTER ')[1:]  
print(huck_fin_chapters)

Vous devez ajouter «str» devant df.read ()

0
Aidan H 7 mars 2019 à 05:03