1

何千もの列を含むいくつかの大きな csv ファイルがあり、それらをインポートしてから、列の内容に基づいて列全体を削除する必要があります。Rubyでこれを処理する簡単な方法はありますか?

データを転置してから行を削除することもできましたが、もっと構文的に甘い方法があるかどうか疑問に思っていました。

4

4 に答える 4

2

行を反復処理し、 で列を削除する必要がありますArray#slice!

何かのようなもの:

my_array.each do |row|
  row.slice!(3) if <insert condition>
end

するべきです。

于 2008-12-17T14:09:07.413 に答える
0

最終的に転置を使用し、次にreverse_eachを使用して下の行のスライスから処理しました。削除が必要な行。助けてくれてありがとう。

于 2008-12-19T20:24:19.350 に答える
0

csv のすべての列をデータベースの列に割り当てる必要があるため、csv で不要な列を無視するだけで済みます。このブログ投稿には良い例があります。

于 2008-12-17T16:42:37.743 に答える
0

暗闇の中でのショットですが、基準が十分に単純で、データをサンプリングして削除する必要がある列を確認できる場合は、最初に列のインポートをスキップできます。それ以外の方法であるスライスよりも。

于 2008-12-17T19:24:25.873 に答える