私は、たくさんのcsvファイルを持つディレクトリ構造からの出力を得ました。これらのファイルのヘッダーは手動で作成され、ランダムに配置されます。私は似たヘッダを持つファイルをすべて取得しなければなりません。セット別にグループ化します。類似のヘッダーを持つファイルをグループ化するpython
/A/B/C/D~b1.csv.0 Delim:,
"First Name" "Last Name" Company EMAIL Phone Fax "SIC CODE"
/A/B/C/D~b2.csv.0 Delim:,
"First Name" "Last Name" Phone Fax "SIC CODE" Company EMAIL
/A/B/C/D~b3.csv.0 Delim:,
"First Name" "Last Name" Company EMAIL Fax "SIC CODE" Phone
/A/B/C/D~b4.csv.0 Delim:,
"First Name" "Last Name" Company EMAIL Phone Fax "SIC CODE"
/A/B/C/D~c1.csv.0 Delim:,
"Business Type" "Main Markets" Establised "No Of Employees" Category "Company Name" "Contact Person" Designation Address "Pin Code" "Telephone no" "Fax No" Country Website Email
/A/B/C/D~c2.csv.0 Delim:,
"Business Type" "Main Markets" Establised "No Of Employees" Category "Company Name" "Contact Person" Designation Address "Pin Code" "Telephone no" "Fax No" Country Website Email
/A/B/C/D~c3.csv.0 Delim:,
"Business Type" "Main Markets" Country Website Email Establised "No Of Employees" Category "Company Name" "Contact Person" Designation Address "Pin Code" "Telephone no" "Fax No"
最初の部分/A/B/C/D
は、ファイルを解析するのに必要なデリミタDelim:,
続い~
続いディレクトリ構造です。
>>> li = [('abc', set(['a', 'c', 'b'])), ('def', set(['e', 'd', 'f'])), ('ghi', set(['i', 'h', 'g'])), ('jkl', set(['k', 'j', 'l'])), ('mno', set(['m', 'o', 'n'])), ('pqr', set(['q', 'p', 'r'])), ('stu', set(['s', 'u', 't'])), ('vwx', set(['x', 'w', 'v'])), ('ABC', set(['a', 'c', 'b'])), ('DEF', set(['e', 'd', 'f'])), ('GHI', set(['i', 'h', 'g'])), ('JKL', set(['k', 'j', 'l'])), ('MNO', set(['m', 'o', 'n'])), ('PQR', set(['q', 'p', 'r'])), ('STU', set(['s', 'u', 't'])), ('VWX', set(['x', 'w', 'v']))]
>>> for key, group in groupby(li, lambda x: x[1]):
... for l in group:
... print "%s %s." % (l[1], l[0])
方法:次の行は、何かが、私が働いていないだろう知っている次のように、私は一緒にグループ同様のヘッダーへのサンプル・コードを作成しようとしました"First Name" "Last Name" Company EMAIL Phone Fax "SIC CODE"
ファイルから取り出されたヘッダでありますセットをまとめてグループ化できますか? 類似のヘッダーファイルをどのようにグループ化できるかを理解する助けとなります。
:あなたの例から、あなたは、グループライン1/2と一緒に7/8にありますか? –
類似のヘッダーはどういう意味ですか?たとえば、同じ列の異なる順序、同じ列のサブセット、大文字と小文字を区別しないのはどうですか? –
また、ヘッダーが1回しか発生しない場合はどうすればいいでしょうか? –