0

このテキストファイルをタブ区切り文字のあるフィールドに分割することは可能ですか?ファイルには5,000行を超えており、最後の3つのデータフィールドが存在しない可能性があります。Ascoは2桁または3桁の場合もあります。

qualification_code name level_of_education field_of_education asco anzsco
ACM10110 Certificate I in Animal Studies      524 0611 6399-15 361199
ACM20110 Certificate II in Animal Studies     521 0611 6399-15 361199
ACM30110 Certificate III in Animal Studies    514 0611 6399-15 361199
ACM30210 Certificate III in Animal Technology 514 0611 6399-15 361199
ACM30310 Certificate III in Captive Animals   514 0611 6399-15 361199
CHC41012 Certificate IV in Community Services Advocacy 511 0905 2512-13 411711
4

2 に答える 2

2
require "csv"

CSV.foreach("test.dat", :col_sep => "\t", :headers => true) do |row| 
  puts row[0]
  # or puts row
  # or whatever processing you want here
end

OPがPostgresをインポートターゲットとしてコメントpgadmin(free / OSS)に表示したため、pgadminバージョン1.16の時点でインポートツールが含まれています。これは、タスクをプログラムで実行する理由がない場合にのみ適用されます(つまり、更新された新しいデータを含める)。

于 2013-01-14T14:37:44.073 に答える
1

ダウンロードページは、データがタブ区切りであることを確認します。

ファイルはタブ区切りのテキスト形式ファイルとして提供され、開く前にコンピューターに保存する必要があります。

FasterCSVのようなものを使用して、タスクを実行できます。

使用方法のサンプルコードについては、examplesフォルダーを参照してください:
https ://github.com/JEG2/faster_csv/tree/master/examples

于 2013-01-14T14:32:35.177 に答える