Je suis en train de télécharger le fichier CSV suivant:MISSING ou citation parasite lors du téléchargement de fichier CSV (CSV :: MalformedCSVError)
1,Order,"{\"customer_name\":\"Jack\",\"customer_address\":\"Trade St.\",\"status\":\"unpaid\"}"
2,Order,"{\"customer_name\":\"Sam\",\"customer_address\":\"Gecko St.\",\"status\":\"unpaid\"}"
1,Product,"{\"name\":\"Laptop\",\"price\":2100,\"stock_levels\":29}"
1,Order,"{\"status\":\"paid\",\"ship_date\":\"2017-01-18\",\"shipping_provider\":\"DHL\"}"
2,Product,"{\"name\":\"Microphones\",\"price\":160,\"stock_levels\":1500}"
1,Invoice,"{\"order_id\":7,\"product_ids\":[1,5,3],\"status\":\"unpaid\",\"total\":2500}"
1,Invoice,"{\"status\":\"paid\"}"
Lorsque je tente de le télécharger, je reçois l'erreur suivante: CSV: : MalformedCSVError à CustomersController # import
la troisième ligne ici est particulièrement mis en évidence:
class Customer < ApplicationRecord
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
Customer.create! row.to_hash
end
end
Voici l'importation que j'ai fait dans le contrôleur ainsi:Je suis conscient que ce problème pourrait provenir d'une erreur de syntaxe de citation, mais je ne vois rien de mal avec les citations que j'ai sur la première ligne. Tout semble en ordre et je crois que tout le reste est correct, donc je suis un peu perplexe. Merci pour toute aide!
Si vous créez le fichier CSV, vous pouvez encoder le fichier JSON en base64 de sorte que vous n'ayez pas besoin de changer \ "à ' – alebian
Wow, c'était déjà le cas. Je vais y travailler un peu, je n'ai vu aucune raison pour laquelle le "ne fonctionnerait pas avant, mais merci beaucoup. – kalex
@alebian Je vais regarder dans cela, merci – kalex