Derzeit helfe ich beim Sammeln von Daten für die Restaurantberatung durch Outsourcing (Abkratzen des Essprotokolls mit der Rails-Anwendung und dem Ruby-Skript), aber ich hatte Schwierigkeiten mit einem Fehler bei der Zeichenkodierung. Hier ist die Lösung Ich werde es teilen.
Umgebung
SyntaxError ((irb):1: invalid multibyte char (UTF-8))
Als ich die Ruby-Scraping-Datei vom Terminal aus ausführte, wurde dieser Fehler angezeigt.
Anscheinend ist der Zeichencode falsch und es tritt ein Fehler auf. Windows hat einen ANSI-Standardzeichencode, wenn Sie eine Datei speichern, und Sie müssen diesen Zeichencode in UTF-8 ändern und speichern!
** Starten Sie einfach Notepad und ändern Sie den Zeichencode von ANSI in UTF-8 (keine Stückliste empfohlen), wenn Sie die zu ändernde Datei ziehen und ablegen und als Namen speichern! ** ** ** Referenz
Es hat nichts mit Programmierung zu tun. .. ww
Ich habe den Code des Skripts von UTF-8 auf cp932 geändert und verschiedene Dinge getan, aber es machte nicht viel Sinn. .. Lol
Am Ende sieht der Code so aus ↓
scrp_tabelog.rb
CSV.open('new_log_file.csv', "w", liberal_parsing: true) do |csv|
csv << ['Vertragssequenznummer', 'Speichername', 'Datum', 'Bewertungsergebnis', '', '', '', '', '', '', '', 'Anzahl der Bewertungen(Fall)', 'Wer ging(Mann)', '行きたいMann(Mann)']
csv << ['', '', '', 'Umfassend', 'Nacht', 'Mittag', 'Kochen / schmecken', 'Bedienung', 'Atmosphäre', 'CP', 'Alkohol / Getränk']
CSV.foreach('shop_point_list.csv', headers: false, liberal_parsing: true) do |recent_row|
#Schreiben Sie den Prozess
end
end
Der Punkt hier ist ** liberal_parsing: true **. Es scheint, dass die in den Daten angezeigten doppelten Anführungszeichen analysiert werden können, wenn die Daten nicht in doppelte Anführungszeichen eingeschlossen sind, wenn sie mit der Option zu CSV aus Ruby 2.4.0 auf true gesetzt sind.
Jetzt habe ich es geschafft, die Daten ohne Fehler abzurufen!
Ich gebe aus, was ich jeden Tag gelernt habe! Wir würden uns freuen, wenn Sie Ihre Eindrücke und Vorschläge kommentieren könnten!
Recommended Posts