かなり古いシステムから生成されたログ ファイルから個々のレコードを抽出し、データベースに入力できるようにする必要があります。私が抽出できるのはこれらのフラット ファイルだけです (そして、クエリをフォーマットするだけで数週間かかりました)。以下は、2 つのレコードを持つファイルの例です。私が見る唯一の区切り文字は「/11 S11-」で、それ自体は 5 文字の通常の場所にありますが、先頭または末尾ではありません。
見ている人にとっては、はい、これは私の他の初心者の質問に関連しています。Python のドキュメント、いくつかの Google の結果、およびいくつかの関連する 質問を見てきました。だから、私の質問は
a) レコード内で 5 文字から始まる区切り文字を使用する方法は?
b) 自然言語のこれらの大きな塊をどのようにつかむのですか?
c) 改行の後の空白を取り除く方法は? これはおそらく最も簡単な部分です。各フィールドの長さをクエリで指定できます。現在、accessionDate は 10 文字、accessionNumber は 10 文字、patMedicalRecordNum は 15 文字です。したがって、finalDxText の空白は 35 文字です。
01/01/11 S11-55555 20/444-55-6666 A. PROSTATE AND SEMINAL VESICLES, PROSTATECTOMY:
- ADENOCARCINOMA.
TOTAL GLEASON SCORE: GLEASON 5+4=9
TUMOR LOCATION: BILATERAL
TUMOR QUANTITATION: 15% OF PROSTATE INVOLVED BY TUMOR
EXTRAPROSTATIC EXTENSION: PRESENT AT RIGHT POSTERIOR
SEMINAL VESICLE INVASION: PRESENT
MARGINS: UNINVOLVED
LYMPHOVASCULAR INVASION: PRESENT
PERINEURAL INVASION: PRESENT
LYMPH NODES (SPECIMENS B AND C):
NUMBER EXAMINED: 25
NUMBER INVOLVED: 1
DIAMETER OF LARGEST METASTASIS: 1.7 mm
ADDITIONAL FINDINGS: HIGH-GRADE PROSTATIC INTRAEPITHELIAL NEOPLASIA,
ACUTE AND CHRONIC INFLAMMATION, INTRADUCTAL EXTENSION OF INVASIVE
CARCINOMA
PATHOLOGIC STAGE: pT3b N1 MX
B. LYMPH NODES, RIGHT PELVIC, EXCISION:
- ONE OF SEVENTEEN LYMPH NODES POSITIVE FOR METASTASIS (1/17).
C. LYMPH NODES, LEFT PELVIC, EXCISION:
- EIGHT LYMPH NODES NEGATIVE FOR METASTASIS (0/8).
01/02/11 S11-4444 20/111-22-3333 PROSTATE AND SEMINAL VESICLES, PROSTATECTOMY:
- ADENOCARCINOMA.
GLEASON SCORE: 3 + 3 = 6 WITH TERTIARY PATTERN OF 5.
TUMOR QUANTITATION: APPROXIMATELY 10% BY VOLUME.
TUMOR LOCATION: BILATERAL.
EXTRAPROSTATIC EXTENSION: NOT IDENTIFIED.
MARGINS: NEGATIVE.
PERINEURAL INVASION: IDENTIFIED.
LYMPH-VASCULAR INVASION: NOT IDENTIFIED.
SEMINAL VESICLE/VASA DEFERENTIA INVASION: NOT IDENTIFIED.
LYMPH NODES: NONE SUBMITTED.
OTHER: HIGH GRADE PROSTATIC INTRAEPITHELIAL NEOPLASIA.
PATHOLOGIC STAGE (pTNM): pT2c NX.