4

CSVファイルからデータを読み取り、それらのデータをデータベースに保存するアプリを構築しています。サードパーティから取得したcsvファイルは、最初の行のヘッダーで構成されており、これらのデータをデータベースにプッシュする前に削除する必要があります。プログラムで最初の行を削除し、値またはデータのみをデータベースにプッシュするにはどうすればよいですか。Ruby 1.9.2 バージョンを使用しているため、「fastercsv」を使用する必要はありません。標準の CSV ライブラリを使用しています。

親切に私を助けて

4

2 に答える 2

8

あなたがするとき:

CSV.open(filename, :headers => true) do |row|
  # it will use the first line as headers. now you can do:
  row['my_header_value']
end
于 2012-05-22T08:11:16.900 に答える
5

次を使用して、すべての行を一度にフェッチできます。

arr_of_arrs = CSV.read("path/to/file.csv")

そして、arr_of_arrs.drop(1)ヘッダーを削除するために使用できます。arr_of_arrs.each_with_indexまたは、次のように、最初の行(ヘッダー)をスキップするために使用できます。

arr_of_arrs.each_with_index do |e, i|
  next if i == 0

  #process each row here
end
于 2012-05-22T07:08:10.373 に答える