Import von CSV-Daten in ein ruby-array/variable
Ich versuche, verwenden Sie eine CSV-als settings-Datei in ein plugin für SiriProxy Projekt mithilfe von wake-on-lan. Dieses Projekt basiert auf ruby.
Also die csv ist wie folgt:
Name, MACAddress
Desktop, 01-23-45-67-89-ab
Computer, 02-46-81-02-46-cd
und so weiter...
So was würde ich gerne mal passieren, dass, wenn die variable userAction "Desktop" zum Beispiel, dann habe ich die Abfrage der CSV und es gibt die MAC-Adresse in eine andere variable. Ich bin verloren, wie dies zu tun. Ich habe gesehen, csv-und faster_csv, aber nicht wissen, wie man diese zu arbeiten wie dieser.
Vielen Dank im Voraus!
InformationsquelleAutor IMcD23 | 2011-12-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie versuchen, FasterCSV in Ruby 1.9 erhalten Sie eine Warnung, die sagen, dass die standard-Ruby-1.9 CSV-Bibliothek ist tatsächlich schneller. Also habe ich die standard-Ruby-CSV-Bibliothek. Diese Arbeit sollte in Ruby 1.9 1.8.7.
Die Ausgabe dieses Codes ist:
Nun, was ich will Sie zu tun ist, Lesen jeder Zeile dieses Codes aufmerksam und versuche zu verstehen, was es tut und warum es notwendig ist. Dies wird machen Sie eine bessere Programmierer im langen Lauf.
Könnte man verbessern diesen code zu träge laden der CSV-Datei das erste Zeit, die es benötigt.
Diese Lösung ist viel zu kompliziert; @steenslag ist viel mehr idiomatisch. Ich habe einen Kommentar um zu zeigen, wie das Ergebnis der CSV.read() kann umgewandelt werden in ein Hash.
InformationsquelleAutor David Grayson
Werde ich zeigen, die Schmutz-einfache Methode. Stopfte alles in einen hash als David Grayson hat ist viel effizienter in der lange run, aber für einen Lauf-ein-paar-mal-Skript könnte dies ausreichend sein.
Wenn das Leerzeichen unerwünscht ist:
Hash[arr]
konvertieren das ErgebnisCSV.read()
-- d.h. ein array von arrays-zu einem Hash:Hash[CSV.read('config.csv', col_sep: ', ')]
InformationsquelleAutor steenslag