私はPythonで以下のようなテキストファイルをインポートしようとしています。ためのよう 固定長のテキストファイルをPython辞書
> ... <で区切らとして、私は簡単にオブジェクトの名前を識別できることを前提と私の理想的な出力は、txtファイルの階層構造を反映したPythonの辞書になり+ CATEGORY_1 first_part of long attribute <NAME_a>
| ...second part of long attribute
| + CATEGORY_2: a sequence of attributes that extend over
| | ... possibly many <NAME_b>
| | ... lines
| | + SOURCE_1 => source_code
| + CATEGORY_2: another sequence of attributes that extend over <NAME_c>
| | ... possibly many lines
| | + CATEGORY_1: yet another sequence of <NAME_d> attributes that extend over
| | | ...many lines
| | | + CATEGORY_2: I really think <NAME_e> that
| | | | ... you got the point
| | | | ... now
| | | | + SOURCE_1 => source_code
| + SOURCE_2 => path_to_file
例:
{NAME_a : {'category' : CATEGORY_1,
'depencencies' : {NAME_b : {'category' : CATEGORY_2,
'source_type' : SOURCE_1,
'source_code' : source_code}
NAME_c : {'category' : CATEGORY_2,
'dependencies' : { NAME_d : {'category' : CATEGORY_1,
'dependencies' : NAME_e : {'category' : CATEGORY_2,
'source_type' : SOURCE_1,
'source_code' : source_code}
}
}
'source_type' : SOURCE_2,
'source_code : path_to_file
}
}
では、ここでの主なアイデアは、ラインが始まる前に、タブの数をカウントすることであり、これは階層構造を決定すると思います。 私はパンダread_fwfとnumpy loadfromtxtを見ようとしましたが、成功しませんでした。 この問題を解決するための関連モジュールまたは戦略を教えてください。
を問題にアプローチする方法上の任意のヒントをいただければ幸いです。 「すぐに使える」ソリューションだけを探しているわけではありません。 – FLab
戦略:データ構造がフラットなので(テキストファイル)、レベルを推測して名前を認識するために独自のパーサを開発する必要があります...辞書構造を構築するにはスタックが必要です。 –