2009-09-01 5 views
0

données Exemple:FasterCSV - élever MalformedCSVError quand il ne devrait pas

"iWine","Barcode","Location","Bin","Size","Valuation","Price","StoreName",\ "PurchaseDate","Note","Vintage","Wine","Locale","Country","Region","SubRegion",\ "Appellation","Producer","SortProducer","Type","Color","Category","Varietal",\ "MasterVarietal","Designation","Vineyard","WA","WS","IWC","BG","WE","JR",\ "RH","JG","GV","JK","LD","CW","CT","MY","BeginConsume","EndConsume"

"334142","15240542","Cellar","","750ml","","0","","","","2003",\
"Bodegas y Viñedos Alión Ribera del Duero","Spain, Castilla y León, Ribera del Duero","Spain",\
"Castilla y León","Unknown","Ribera del Duero","Bodegas y Viñedos Alión",\
"Alión, Bodegas y Viñedos","Red","Red","Dry","Tempranillo","Tempranillo","Unknown","Unknown",\
"","","","","","","","","","","","","91.3333333333333","","2011","2021"

FasterCSV insiste sur l'augmentation MalformedCSVError lors de l'analyse de ces données, lancée spécifiquement autour de la ligne 1616 dans faster_csv.rb

raise MalformedCSVError unless in_quotes 
+0

Ceci est difficile à lire. Pouvez-vous l'éditer sur plusieurs autres lignes? – pavium

+0

oui, désolé à ce sujet. – Kyle

+0

Serait-ce la dernière virgule d'une ligne? Peut-être soit utiliser une paire de guillemets vides ("") ou sortir la dernière virgule? Pas familier avec la classe, mais il semble que tout ce que vous voulez, c'est que tout soit entre guillemets. –

Répondre

0

En outre - avez-vous vérifié les articles relatifs au codage?

How do I import using FasterCSV a row with a name like "Ciarán"?

+0

Je l'ai fait. En faisant plus de tests (et en me souvenant d'un problème similaire il y a quelques temps), j'ai copié et collé le contenu du fichier csv dans un nouveau fichier, et cela fonctionne comme prévu. Des pensées là-dessus? Peut-être est-il arrivé (il a été exporté à partir de Google Spreadsheet) avec encodage de chars mucked up ou quelque chose le long de ces lignes? – Kyle

+0

Oui, je ne suis pas vraiment sûr. Spécifiez-vous le drapeau sur la commande? On dirait que ce serait plus facile que de s'assurer que votre fichier était dans le bon format? –

0

Je suppose que les problèmes que vous rencontrez sont en raison des caractères non-ascii. Essayez de les remplacer par des éléments non-accents, et voyez si cela fonctionne. Si c'est le cas, vous devez utiliser l'option: encoding sur FasterCSV pour correspondre au format de votre fichier.

Questions connexes