Actuellement, j'aide à collecter des données pour la consultation des restaurants en externalisant (grattage du journal des repas avec l'application Rails et le script ruby), mais j'ai eu du mal avec une erreur de codage des caractères, alors voici la solution Je vais le partager.
environnement
SyntaxError ((irb):1: invalid multibyte char (UTF-8))
Lorsque j'ai exécuté le fichier de grattage ruby à partir du terminal, j'ai eu cette erreur.
Apparemment, le code de caractère est incorrect et une erreur se produit. Windows a un code de caractère par défaut ANSI lorsque vous enregistrez un fichier, et vous devez changer ce code de caractère en UTF-8 et l'enregistrer!
** Il suffit de démarrer le Bloc-notes et de changer le code de caractère de ANSI à UTF-8 (aucune nomenclature recommandée) lorsque vous faites glisser et déposez le fichier que vous souhaitez modifier et enregistrez-le sous un nom! ** ** Référence
Cela n'a rien à voir avec la programmation. .. ww
J'ai changé le code du script de UTF-8 à cp932 et j'ai fait diverses choses, mais cela n'avait pas beaucoup de sens. .. Lol
Au final, le code ressemble à ceci ↓
scrp_tabelog.rb
CSV.open('new_log_file.csv', "w", liberal_parsing: true) do |csv|
csv << ['Numéro de séquence du contrat', 'Nom du magasin', 'Date', 'Note d'évaluation', '', '', '', '', '', '', '', 'Nombre d'avis(Cas)', 'Qui est allé(Homme)', '行きたいHomme(Homme)']
csv << ['', '', '', 'Complet', 'Nuit', 'Le midi', 'Cuisine / goût', 'un service', 'atmosphère', 'CP', 'Liqueur / boisson']
CSV.foreach('shop_point_list.csv', headers: false, liberal_parsing: true) do |recent_row|
#Ecrire le processus
end
end
Le point ici est ** libéral_parsing: true **. Depuis ruby 2.4.0, c'est une option ajoutée à CSV, et si elle est définie sur true, il semble que les guillemets apparaissant dans les données puissent être analysés si les données ne sont pas placées entre guillemets.
Maintenant, j'ai réussi à extraire les données sans causer d'erreur!
Je sort ce que j'ai appris tous les jours! Nous vous serions reconnaissants de bien vouloir commenter vos impressions et suggestions!
Recommended Posts