Per esempio, da un file seguente:In Scala, come trovare un elemein in CSV con una coppia di valori chiave?
Name,Surname,E-mail John,Smith,[email protected] Nancy,Smith,[email protected] Jane,Doe,[email protected] John,Doe,[email protected]
come faccio a ottenere l'indirizzo email del John Doe?
Io uso il seguente codice ora, ma si può specificare solo un campo chiave ora:
val src = Source.fromFile(file)
val iter = src.getLines().drop(1).map(_.split(","))
var quote = ""
iter.find(_(1) == "Doe" ) foreach (a => println(a(2)))
src.close()
Ho provato a scrivere "iter.find (_ (0) == "John" & & _ (1) == "Doe") ", ma ciò solleva un errore che dice che è previsto un solo parametro (il che racchiude la condizione in una coppia extra di parentesi non aiuta).
Se questo è veramente un file CSV, l'uso di StringOps.split (",") è errato e non si occupa dei casi in cui una virgola (,) e/o una virgoletta doppia (") fanno parte di un valore incorporato. Ho appena risolto questo problema nella mia risposta StackOverflow qui: http://stackoverflow.com/a/32488453/501113 – chaotic3quilibrium