Il codice che ho finora è in una funzione che legge fondamentalmente un file CSV e stampe il suo contenuto:Conversione il contenuto di un file CSV in un dizionario
def read(filename):
with open(filename, 'r') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
for row in reader:
print(row)
Contenuti di sailor.csv
:
name, mean performance , std dev
Alice, 100, 0,
Bob, 100, 5,
Clare, 100, 10,
Dennis, 90, 0,
Eva, 90, 5,
read('sailor.csv')
e l'esecuzione della funzione
uscita corrente:
['name', ' mean performance ', ' std dev']
['Alice', ' 100', ' 0', '']
['Bob', ' 100', ' 5', '']
['Clare', ' 100', ' 10', '']
['Dennis', ' 90', ' 0', '']
['Eva', ' 90', ' 5', '']
uscita richiesta:
{'Dennis': (90.0, 0.0), 'Clare':(100.0, 10.0),
'Eva': (90.0, 5.0), 'Bob': (100.0, 5.0), 'Alice': (100.0, 0.0)}
tutte le idee come posso ottenere che la produzione? Usando Python 3.4.2 se questo ti aiuta, la spiegazione della tua risposta sarà apprezzata!
Il suo output richiesto ha numeri in virgola mobile; o forse è solo ".0" aggiunto. E non ci sono virgolette attorno ai numeri. – Marichyasana
L'ho ottimizzato leggermente, aggiungendo il float prima della riga [1] e la riga [2] hanno corretto i numeri .. ora funziona perfettamente! Grazie!- Non c'è bisogno di usare la stampa perché chiamerò la funzione più tardi .. read ('sailor.csv') funziona per me! – Alex
@Alex FYI, se fai un suggerimento di modifica, dovresti fornire una descrizione più dettagliata su * perché * hai fatto la modifica (piuttosto che * cosa * hai modificato) ... Non riesci a vedere i commenti nel Revisione di modifiche consigliate; solo il post con le modifiche e il motivo che fornisci; [vedi questo meta post] (http://meta.stackoverflow.com/questions/278894/more-context-in-the-suggested-edits-review) ... Non dovresti cambiare la tua domanda per includere l'accettato risposta; fai clic su "Accetto" su una domanda per farlo, questo mantiene la domanda "pulita" per le persone future con un problema simile che finiscono qui. – Carpetsmoker