0

ルビーの初心者これは私がFasterCSVGemを使用している私の最初のプロジェクトであり、絶対にスピードが大好きです。

フィールドが長すぎると、以下のエラーが発生するという1つの問題を発見しました。

/Library/Ruby/Gems/1.8/gems/fastercsv-1.5.4/lib/faster_csv.rb:1641:in `shift':FasterCSV :: MalformedCSVError(FasterCSV :: MalformedCSVError)

エラーは2行目にあります最初の行は正しく読み取られます:-)

"1013197145"、 "PSION HU6020ハンドストラップ"、 "1"、 "1"、 "10"

"1013197542"、 "HP ProBook NA920EA_KT931AT 39.6 cm(15.6")ノートブック-Intel Core 2 Duo T6570 2.10 GHz-1366 x768WXGAディスプレイ-2GBRAM-250GBHDD-DVDライターLightScribe-IntelGMA4500MHDグラフィックカード-Bluetooth -Webカメラ-本物のWindowsVistaビジネス-5時間バッテリー-HDMI"、" 1 "、" 1 "、" 10 "

これが私のコードです:

FasterCSV.foreach(file_path, {:col_sep=> colsep, :quote_char => char}) do |row|

   my.query("INSERT INTO product_prices (partno,costpriceexvat,sku, supplierid) VALUES ('#{row[7]}', '#{row[8]}', '#{row[3]}','1')")

end

どんな助けでも大歓迎です。

4

1 に答える 1

1

これは、FasterCSVが長い文字列を窒息させたり、アイテムの説明の「(15.6 ")」部分にインチ文字が含まれていることとは何の関係もないと思います。引用符と同じであるため、CSV値が終了します。 FasterCSVは、この種のことを厳密に行うように設計されています。

于 2011-10-22T11:56:06.363 に答える