2017-09-22 14 views
0

をアップロード:見つからないか、浮遊引用する場合、CSVファイル(CSV :: MalformedCSVError)私は、次のCSVファイルをアップロードしようとしています

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\"}" 

私はそれをアップロードしようと、私は次のエラーを取得: CSVを: :MalformedCSVError CustomersController番号のインポート

にここ三行目は、特に強調表示されています::

class Customer < ApplicationRecord 
    def self.import(file) 
    CSV.foreach(file.path, headers: true) do |row| 
     Customer.create! row.to_hash 
    end 
    end 

ここで私は、同様のコントローラで行われたインポートがあります

def import 
    Customer.import(params[:file]) 
    redirect_to customer_path, notice: "Customer Added Successfully" 
    end 
この問題は引用構文エラーの可能性がありますが、私は最初の行にある引用符に間違いはありません。すべてが整然としているようで、私は他のものはすべて正しいと信じています。助けてくれてありがとう!

答えて

0

私は'\"を交換し、それが働いた:

1,Order,"{'customer_name':'Jack','customer_address':'Trade St.','status':'unpaid'}" 

私はそれは少し奇妙だ同意します。希望のソリューションはあなたのために動作します。

+0

CSVを作成している場合は、base64でJSONをエンコードすることができるので、\ "から" – alebian

+0

Wowを変更する必要はありません。新しいものですが異なるエラーが発生しました。私はそれを少しでもやっていくつもりです。なぜなら、以前はうまくいきませんでしたが、どうもありがとうございました。 – kalex

+0

@alebian私はそれを調べます、ありがとう – kalex

関連する問題