Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
#
# 北海道厚生局コード内容別医療機関一覧表を 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')
@pinus

This comment has been minimized.

Copy link
Owner Author

@pinus pinus commented May 17, 2020

北海道厚生局「コード内容別医療機関一覧表」の xlsx から cvs 保存したファイルを読み込んで,標準出力に vcf 型式で出力する

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment