# | |
# 北海道厚生局コード内容別医療機関一覧表を csv 保存したものを vCard 型式に変換する. | |
# https://kouseikyoku.mhlw.go.jp/hokkaido/gyomu/gyomu/hoken_kikan/code_ichiran.html | |
# | |
require 'csv' | |
def convert(file) | |
CSV.foreach(file) do |row| | |
# 連番が付いた行を処理する | |
if row[0].to_s.match('^[0-9]+$') | |
# 病院名 | |
hosp = row[2].to_s | |
# 郵便番号 | |
addr = row[3].to_s | |
zip = addr[1, 8].to_s.gsub!(/-/, '-') | |
# 住所 | |
addr = addr[9, addr.length] | |
# 市/郡を切り出す | |
citypos = addr.index(/[市,郡]/) | |
city = addr[0, citypos + 1] | |
addr = addr[citypos + 1, addr.length] | |
# 電話番号 | |
tel = row[4].to_s | |
# 医師名 | |
dr = row[6].to_s.split(' ') | |
surname = dr[0] | |
name = dr[1] | |
# vCard として標準出力に書き出す | |
puts 'BEGIN:VCARD' | |
puts 'VERSION:3.0' | |
puts 'N:' + surname + ';' + name + ';;;' | |
puts 'FN:' + hosp | |
puts 'ORG:' + hosp + ';' | |
puts 'TEL;type=MAIN;type=pref:' + tel | |
puts 'ADR;type=WORK;type=pref:;;' + addr + ';' + city + ';;' + zip + ';' | |
puts 'X-ABShowAs:COMPANY' | |
puts 'END:VCARD' | |
end | |
end | |
end | |
# | |
# main | |
# | |
convert('code-ika.csv') | |
convert('code-ikas.csv') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
北海道厚生局「コード内容別医療機関一覧表」の xlsx から cvs 保存したファイルを読み込んで,標準出力に vcf 型式で出力する