zum Beispiel aus einer folgenden Datei:In Scala, wie ein Element in CSV durch ein Paar Schlüsselwerte zu finden?
Name,Surname,E-mail John,Smith,[email protected] Nancy,Smith,[email protected] Jane,Doe,[email protected] John,Doe,[email protected]
wie bekomme ich E-Mail-Adresse des John Doe?
Ich verwende den folgenden Code jetzt, aber jetzt nur ein Schlüsselfeld angeben:
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()
ich mit dem Schreiben habe versucht, „iter.find (_ (0) == "John" & & _ (1) == "Doe") ", aber dies wirft einen Fehler auf, der besagt, dass nur ein Parameter erwartet wird (das Einschließen der Bedingung in ein zusätzliches Paar von Klammern hilft nicht).
Wenn dies wirklich eine CSV-Datei ist, ist die Verwendung von StringOps.split (",") fehlerhaft und behandelt nicht die Fälle, in denen ein Komma (,) und/oder ein Doppelzitat (") Teil eines embedded value. Ich habe das gerade in meiner StackOverflow-Antwort hier angesprochen: http://stackoverflow.com/a/32488453/501113 – chaotic3quilibrium