考えられる最も不均一な方法でフォーマットされたデータ (テキスト ファイル) があります。このデータの解析に関する手作業の量を最小限に抑えようとしています。
サンプルデータ :
Name Degree CLASS CODE EDU Scores
--------------------------------------------------------------------------------------
John Marshall CSC 78659944 89989 BE 900
Think Code DB I10 MSC 87782 1231 MS 878
Mary 200 Jones CIVIL 98993483 32985 BE 898
John G. S Mech 7653 54 MS 65
Silent Ghost Python Ninja 788505 88448 MS Comp 887
条件 :
- 複数のスペースは区切り文字に圧縮する必要があります (パイプの方が良いですか?最終的な目標は、これらのファイルをデータベースに格納することです)。
- 最初の列を除いて、他の列にはスペースが含まれないため、これらのスペースはすべてパイプに圧縮できます。
- スペースを含む複数の単語を含めることができるのは、最初の列のみです (Mary K Jones)。残りの列は、ほとんどが数字と一部のアルファベットです。
- 1 列目と 2 列目は両方とも文字列です。ほとんどの場合、それらの間に複数のスペースがあるため、2 つの列を区別することができます。(単一のスペースがある場合、それは恐ろしい書式設定を考えると喜んで引き受けるリスクです!)。
- 列の数はさまざまなので、列名を気にする必要はありません。必要なのは、各列のデータを抽出することだけです。
私が理にかなっていることを願っています!このタスクはワンライナーで実行できると感じています。ループ、ループ、ループしたくない:(
ずっと読んで、この文の前にやめないための「Pythonistas」のMuchos gracias!