Skip to content

Commit

Permalink
fix(main.py): refactor delete_title function to remove unnecessary ti…
Browse files Browse the repository at this point in the history
…tle specific to Daihuku Prefecture

fix(main.py): refactor fix_format_page_df function to apply delete_headers and delete_title functions to the dataframe
fix(main.py): refactor merged_df variable to df for clarity
fix(main.py): refactor result_df variable to remove unnecessary columns with missing values and rows with less than 2 data points
fix(main.py): refactor output file name to include prefecture number and name
  • Loading branch information
ryo-ma committed Feb 18, 2024
1 parent d4527a6 commit d875338
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 5 deletions.
25 changes: 20 additions & 5 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,17 @@ def delete_headers(df, line_number):
return df


# 大分県に不要なタイトルがあるため削除
def delete_title(df):
if df.iloc[0, 0] == "緊急避妊に係る診療が可能な産婦人科医療機関等一覧":
return df.drop(df.index[:1])
return df


def fix_format_page_df(df, line_number):
return delete_headers(delete_title(df), line_number)


if not os.path.exists("./output_files"):
os.mkdir("./output_files")

Expand All @@ -18,12 +29,16 @@ def delete_headers(df, line_number):
opendata_file = os.listdir(f"./data_files/shinryoujo_{i}")
dfs = tabula.read_pdf(f"./data_files/shinryoujo_{i}/{opendata_file[0]}", lattice=True, pages='all', pandas_options={'header': None})
# 1ページ目のみ「基本情報」行の削除のため1行指定
first_df = delete_headers(dfs[0], 1)
first_df = fix_format_page_df(dfs[0], 1)
# 2ページ目以降は「基本情報」およびヘッダーを削除するため2行指定
dfs = [delete_headers(x, 2) for x in dfs[1:]]
dfs = [fix_format_page_df(x, 2) for x in dfs[1:]]
dfs.insert(0, first_df)
merged_df = pd.concat(dfs).replace('\n', '', regex=True).replace('\r', '', regex=True).replace('\r\n', '', regex=True).replace('\n\r', '', regex=True)
# データが2つ未満の行は不要な可能性が高いので削除
result_df = merged_df.dropna(thresh=2)
# ページごとのデータを結合
df = pd.concat(dfs)
# 改行コードを削除
df = df.replace('\n', '', regex=True).replace('\r', '', regex=True).replace('\r\n', '', regex=True).replace('\n\r', '', regex=True)
# データが2つ未満の行は不要な可能性が高いので行を削除 & 列名に欠損値がある場合も列ごと削除
result_df = df.dropna(thresh=2).dropna(subset=[df.index[0]], axis=1)

prefecture_number = str(i).zfill(2)
result_df.to_csv(f"./output_files/{prefecture_number}_{PREFECTURES[i-1]}.csv", header=False, index=False)
27 changes: 27 additions & 0 deletions output_files/47_沖縄県.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
施設名,郵便番号,住所,電話番号,産科、婦人科又は産婦人科の標榜の有無,医療機関における緊急避妊にかかる対面診療への対応可能時間帯,常時の緊急避妊薬の在庫の有無
愛知クリニック,901-2206,沖縄県宜野湾市愛知1-2-12,098-892-3511,有,月曜・水曜 9:00~18:00火曜・金曜 17:30~20:30木曜・土曜 9:00~12:15,有
あいレディースクリニック,904-2153,沖縄県沖縄市美里4-17-7,098-937-1111,有,24時間対応可能,有
(医)海秀会 うえむら病院,901-2424,沖縄県中城村南上原803-3,098-895-3535,有,月・火・水・金・土9:00~13:00、 15:00~18:00,有
中部産婦人科医院,904-0012,沖縄県沖縄市安慶田1-3-20,098-937-8878,有,平日 9:00~17:00土曜 9:00~12:00,有
当山産婦人科医院,901-2225,沖縄県宜野湾市大謝名5-20-8,098-897-5666,有,9:00~18:00,有
医療法人なしろ 名城病院,904-2245,沖縄県うるま市赤道175-3,098-974-2121,有,午前 8:30~11:00 妊婦検診のみ 4:30まで午後 13:00~16:00 (水曜・日曜・祝日を除く),有
古堅ウィメンズクリニック,901-2225,沖縄県宜野湾市大謝名165,098-890-1600,有,平日 9:00~18:00 木曜休診土曜 9:00~17:00,有
美里女性クリニック,904-2155,沖縄県沖縄市美原2-25-3,098-929-3003,有,平日 9:00~17:00土曜 9:00~12:00,有
医療法人彩の会 やびく産婦人科・小児,904-0111,沖縄県北谷町字砂辺306,098-936-6789,有,24時間対応可能,有
ゆいクリニック,904-2142,沖縄県沖縄市登川2444-3,098-989-3801,有,24時間,有
赤嶺レディースクリニック,901-2133,沖縄県浦添市城間4-18-2,098-877-8839,有,月・火・木・金 09:00~13:00 14:00~18:00水・土 09:00~12:00,有
バークレー レディースクリニック,901-2104,沖縄県浦添市当山2-2-11 5階,098-873-1135,有,月・水・木・土 8:30~11:30 13:30~17:00火 13:30~17:00病院からのメモ書き: 強制性交等の事案に関しては高次機関での診療としています。,有
石川産婦人科(医院),900-0021,沖縄県那覇市泉崎2-20-2,098-832-3351,有,平日 9:00~17:00(火・木休診)土曜 9:00~16:00(日曜・祝祭日休診),有
糸数病院,900-0012,沖縄県那覇市泊1-28-1,098-863-4103,有,平日 9:00~18:00 (受付 17:30まで)土曜 9:00~12:00 (受付 11:30まで),有
伊波レディースクリニック,903-0806,沖縄県那覇市首里汀良町1-8-2,098-885-5435,有,月・火・木・金・土 9:00~17:00,有
医療法人 祐の会 友利産婦人科,900-0024,沖縄県那覇市古波蔵2-25-24,098-855-1103,有,平日 9:00~17:00土曜 9:00~12:00※その他の時間帯や休日・祝祭日は問合せ後、対応を検討します。,有
沖縄協同病院,900-8558,沖縄県那覇市古波蔵4-10-55,098-853-1200,有,平日 9:00~17:00土曜 9:00~11:00,有
新田クリニック,900-0016,沖縄県那覇市前島1-14-3,098-863-0073,有,平日9:30~18:00 水・土 9:30~13:,0有
Joy レディースクリニックくもじ,900-0015,沖縄県那覇市久茂地1-8-16,098-943-2500,有,月曜から木曜 10:00~19:30土曜 10:00~13:30,有
奥平産婦人科医院,906-0013,沖縄県宮古島市平良下里1259-1,0980-72-3026,有,平日 8:30~17:30木曜・土曜 8:30~12:30,有
まつをレディースクリニック,907-0002,沖縄県石垣市真栄里233-3,0980-83-4822,有,月・火・水・金 8:45~11:30、14:45~17:30土 8:45~11:30,有
那覇市立病院,902-8511,沖縄県那覇市古島2-31-1,098-884-5111,有,外来 平日 8:30~16:00急病センター 平日 18:00~翌日 8:00,有
琉球大学医学部付属病院,903-0125,沖縄県西原町字上原207,098-895-3331,有,終日,有
県立中部病院,904-2293,沖縄県うるま市宮里281,098-973-4111,有,24時間 365日,有
公立久米島病院,901-3121,沖縄県久米島町字嘉手苅572-3,098-985-5555,無,24時間,有
沖縄県立北部病院,905-8512,沖縄県名護市大中二丁目12番3号,0980-52-2719,有,24時間 365日,有

0 comments on commit d875338

Please sign in to comment.