次のような形式のタブ区切りファイル ( raw.txt
) があります。
type A1 A2 A3 A4 ....
params int char char char ...
data 1 abc cde fgh ...
type B1 B2 B3 B4 ....
feature int char char char ...
data 2 aaa bbb ccc ...
type C1 C2 C3 C4 ....
stats int int char char ...
data 2 11 aa bb ...
data 3 12 cc cc ...
data 4 13 dd dd ...
data 5 14 ee ee ...
... ... ... ... ... ...
そのようなファイルを解析したいので、ファイル名の名前のフォルダーを作成し、そのフォルダー内にtypes
. ファイルはtype
、たとえば次の行で観察された データで作成されます。
/raw/file1
A1 A2 A3 A4 ....
int char char char ...
1 abc cde fgh ...
/raw/file2
B1 B2 B3 B4 ....
int char char char ...
2 aaa bbb ccc ...
/raw/file3
C1 C2 C3 C4 ....
int int char char ...
2 11 aa bb ...
3 12 cc cc ...
4 13 dd dd ...
5 14 ee ee ...
... ... ... ... ...
など...そして、次のような辞書を作成したい
dict1 = {A1:['int', [1]], A2:['char', ['abc']], ...}
dict2 = {B1:['int', [2]], B2:['char', ['aaa']], ...}
dict3 = {C1:['int', [2, 3, 4, 5], C2:['int', [11, 12, 13, 14, ...]], ...}
これは非常に大きなファイルであり、そのような巨大なファイルを解析するとウィンドウがハングし、ファイルからそのような出力を取得する方法がわからないため、どうすればよいですか。