問題タブ [fastercsv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
506 参照

ruby-on-rails-3 - CSV.parseで行が更新されないという問題があります

Rails3.0.1をruby1.9.2p290で実行し、CSVを使用してCSVファイルを解析しようとしています(私が理解していることから、CSVは現在より高速なCSVコードを使用しています)。

私はこれをfasterCSVに設定することについての素晴らしい記事に従っていて、それを機能させるために小さな変更を加えるだけで済みました(fasterCSVではなくCSVに変更する必要がありますなど)

正しい列数がカウントされたテーブルにcsvファイルをロードすることはできますが、行数に関係なくすべて1行です。たとえば、csvファイルに3つの列を持つ3つの行がある場合、import_tableは行番号をインクリメントせずに列番号0,1,2を3回表示します。したがって、csvファイルの各行の終わりを認識しますが、行カウンターをインクリメントしません。私が欠けているのは何ですか?

私のcsvcontrollerは次のようになります:

.readの代わりに.readlineを使用してみましたが、それによって別のワックスのボールが開きました。

0 投票する
3 に答える
897 参照

ruby - Ruby CSV を使用すると、文字列フィールドがクエリできない Rails レコードが作成されます

CSV ファイルからシード データを Rails アプリケーションにロードしようとしています。最初にfasterscsv gemをインストールしましたが、ruby 1.9の時点でfasterscsvがCSVライブラリを支持して非推奨になっていることがわかりました。そのため、切り替えるように指示する非常に役立つエラーが表示された後、CSV に切り替えました。

しかし今、データをロードするとすべてが正常に見えるという最も奇妙な現象が発生していますが、文字列フィールドに対してクエリを実行できないようです。文字列フィールドには、正しい文字列と思われるものが入力されていますが、アクセスできません。任意の数値フィールドに対してクエリを実行すると、結果が返されますが、文字列フィールドは返されません。引用符の区切り文字で遊んでみましたが、役に立ちませんでした。csv ファイルからすべての引用符を取り除いても、文字列フィールドに対してクエリを実行できませんでした。以下は私のコードと、いくつかのサンプル クエリと Rails コンソールからの戻り値です。

シード ファイルの最初の 2 つのレコードを次に示します。

これは、Rails コンソールに入ると得られるものです。たとえば、年のような数値を照会したい場合は問題なく動作します。

しかし、姓でクエリしようとすると、前のクエリに姓が存在することが示されていても、何も得られません。

私がそれを機能させる唯一の方法は、ハッシュ変数表記を使用して二重引用符の追加のセット(エスケープ)に入れることでした。これにより、すべての文字列レコードが引用符で囲まれてデータベースに取得され、削除コマンドを使用して削除されました引用符が元に戻ります。

次に、文字列データに対してクエリを実行できます。

読み込み時間が 2 倍になるため、明らかにこれは好ましい方法ではありませんが、正直なところ、私は頭がいっぱいでした。

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

ここで要求されたように、schema.rb を追加しました

これは、要求に応じて SQLite データベース ブラウザで表示したデータベースのスクリーンショットです。

プレイヤー テーブルのビュー: 普通に見えますよね?

文字列フィールドのクエリ時に行が返されない

ruby フォーラムにも同様の問題があり、おそらくエンコーディングに関係しているようですが、これを理解するには、エンコーディングについてさらに多くの調査を行う必要があります。

0 投票する
1 に答える
392 参照

ruby-on-rails - Fastercsv は、malformedCSVError を示しています。何が間違っていますか?

私はRubyで実装しており、CSVファイルを読み取ってユーザーを追加するプロジェクトを実行しています。

しかし、ファイルを選択すると、常に同じエラーが発生します。

私のCSVファイルはちょうど存在します:

"RubenPerson1","test","Bauwens","Ruben","rub@gmail.com",0

何が間違っているのか知っている人はいますか?

0 投票する
3 に答える
3036 参照

ruby - FasterCSV:いくつかのセパレーター

私のRails3アプリは、ユーザーがアップロードしたCSVファイルを解析します。
予想どおり、ユーザーはタブ区切りファイルとコンマ区切りファイルをアップロードします。
両方をサポートしたいです。

私のコード:

質問:コンマもサポートするように変更するにはどうすればよいですか?

FasterCSVのドキュメントでは、col_sepは機能しThe String placed between each field.ない:col_sep => ",\t"と説明されています。

注:内部のすべてのデータは整数または識別子であるため、誰かがコンテンツ(区切り文字ではない)を使用\tまたは,コンテンツ内で使用する可能性はゼロです。したがって、同じファイルで2つの異なる区切り文字を使用することは、私が明確に防止したいことではありません。

0 投票する
1 に答える
258 参照

ruby-on-rails - FasterCSVエラー/Library/Ruby/Gems/1.8/gems/fastercsv-1.5.4/lib/faster_csv.rb:1641:in`shift'

ルビーの初心者これは私が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 "

これが私のコードです:

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

0 投票する
0 に答える
82 参照

ruby-on-rails - Ruby on Rails のビューに FasterCsv の結果が表示されませんか?

私はRuby on Railsに実装していますが、最初のビューでファイルを取得し、それをパラメーターに入れてから、コントローラーに次のものを持っています:

2 番目のビューでは、最初の行の結果を表示したいだけです。

しかし、常にこのビューに移動すると、システムは何も表示しませんが、コードは正しいと思います。私が間違っていることを知っている人はいますか?

ありがとう

0 投票する
3 に答える
3728 参照

ruby - 共通フィールドのCSVファイルをruby/fastercsvとマージします

いくつかの列を持つ「マスター」ファイルがあります:1 2 3 4 5.他にいくつかのファイルがあり、マスターファイルよりも行数が少なく、それぞれに列があります:16.これらのファイルを一致させてマージします列1フィールドで、列6をマスターに追加します。私はいくつかのpython/UNIXソリューションを見てきましたが、それが適切である場合はruby/fastercsvを使用したいと思います。始めに助けていただければ幸いです。

0 投票する
4 に答える
7986 参照

ruby-on-rails-3 - レールでは、コンテンツ処理ファイル名をオーバーライドできません

Rails 3.1.0.rc8 と Chromium 15.0.874.102 を使用しています。

CSV ダウンロードのファイル名を設定したい。私はこのSO ソリューションfilenameに従っていますが、Content-Dispositionヘッダーの を変更できないことがわかりました。

これが私のコードです:

そして私のコントローラーで:

私のログでは:

Chromium ネットワーク インスペクター ツールで、応答ヘッダーに次のように表示されます。

Content-Typeを のようなものに変更するとfoo/bar、変更がネットワーク インスペクタ ツールに表示されます。を何に設定しfilenameても、そのままですindex.csv

ありがとう、マックス

0 投票する
1 に答える
165 参照

ruby-on-rails - fastcsvの出力が間違っていますか?Rubyの「多すぎる」

Rubyで実装していますが、CSVファイルで読みたいだけです。私のCSVは次のようになります:

Excelで作成され、CSVファイルに設定されます

しかし、私のアプリケーションで行う場合:

そして私の見解では、私はただします:

私は得る:

したがって、多くの「」への道があります。誰かが私が間違っていることを知っていますか?それは、行に1つの列しかないのと同じです。私がそうするsamples[0].eachと、1つの項目しか得られません。列ではなく、行全体になります。

0 投票する
1 に答える
164 参照

ruby-on-rails - FasterCSVを使用してCSVから日付をインポートするために、移行でどのデータ型を指定しますか?

仲間のオーバーフラワー、

次の形式の日付を含むタブ区切りのcsvファイルがあります。 30-11-2011 2:24

csvをFasterSCVgemで解析しています。この情報をとして保存する移行を作成しましたdatetime。それを行うべきですか、それとも定義してstringRuby取得するたびに変換する必要がありますか?

いくつかのFasterCSVコンバーターを定義する必要がありますか?

ありがとう...