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

pgadmin因为 OP 在评论(免费/OSS)中提出了 Postgres 作为导入目标,所以从 pgadmin 版本 1.16 开始包含一个导入工具。这仅适用于没有理由以编程方式执行任务(即包括新数据作为其更新)。

于 2013-01-14T14:37:44.073 回答
1

下载页面确认数据是制表符分隔的:

文件以制表符分隔的文本格式文件形式提供,应在打开前保存到您的计算机中。

您可以使用FasterCSV之类的工具为您完成任务。

您可以在示例文件夹中查看有关如何使用它的一些示例代码:
https ://github.com/JEG2/faster_csv/tree/master/examples

于 2013-01-14T14:32:35.177 回答