Forum >> Programmazione Python >> Scripting >> esercizio banale che non mi viene

Pagina: 1 2 Avanti

l'esercizio mi dà un file csv contenente la prima riga vuota e poi una serie di numeri id seguiti da ';' e recensione di un film. la consegna è di contare per ogni numero id i caratteri del testo che lo segue:




def conta_caratteri(movies):
	film=open(movies, 'r').read()
	film=film.split('\r\n')
	escludi_riga=True
	conteggi=[]
	for record in film:
		if escludi_riga == True:
			escludi_riga = False
			continue
		movie=record.split(';', 1)
		id=movie0
		text=movie1
		text.replace('\r',' ')
		conteggi.append({id:len(text)})
	print conteggi




perchè quando chiamo la funzione sul file mi stampa una lista vuota?


--- Ultima modifica di ㎝ in data 2017-04-04 14:22:49 ---
l'esercizio mi dà un file csv contenente la prima riga vuota e poi una serie di numeri id seguiti da ';' e recensione di un film. la consegna è di contare per ogni numero id i caratteri del testo che lo segue:

perchè quando chiamo la funzione sul file mi stampa una lista vuota?
Sparo. Sei sicura che nel file le righe siano terminate con '\r\n' (Windows™) e non con '\n' (Unices)?


THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
yes
\r\n tra un film e l'altro

\n quando va a capo normalmente
anzi no!! super scherzone, è un file csv del cavolo perchè tra un film e laltro usa \r\n, nella recensione del primo film va a capo con \r e per tutti gli altri 101 film va a capo indifferentemente con \r\n e \r
allora il problema è che non capisce chi sono i record... comunque non so risolvere....
anzi no!! super scherzone, è un file csv del cavolo perchè tra un film e laltro usa \r\n, nella recensione del primo film va a capo con \r e per tutti gli altri 101 film va a capo indifferentemente con \r\n e \r
allora il problema è che non capisce chi sono i record... comunque non so risolvere....
prova ad aprire il file con
film=open(movies, 'rU').read()
e ad affettarlo con

film=film.split('\n')
; così dovrebbe funzionare.







THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
stampa sempre lista vuota...
stampa sempre lista vuota...
puoi allegare il file?
THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
questo è il csv in questione
Allegati
questo è il csv in questione
io ottengo un più corretto:

>>> import giuliab
>>> giuliab.conta_caratteri("movies.csv")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "giuliab.py", line 12, in conta_caratteri
    text=movie1
IndexError: list index out of range

(perché ottieni questo errore viene lascato come esercizio allo studente)


THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
non ho capito cosa stai dicendo... ho capito che errore è e so quando esce, ma a me non è mai comparso in questo esercizio


Pagina: 1 2 Avanti



Esegui il login per scrivere una risposta.