0

私はPythonを初めて使用するので、あまりよく知りません。特定のフィールドで数千行のファイルを並べ替えようとしています。並べ替えたいファイルinfo.txtが次のようになっているとします。

test-23 2012 05 34 object-1-2
test-21 2012 04 23 object-4-5
test-09 2011 12 55 object-1-2
test-11 2010 12 72 object-3-4
test-12 2010 17 22 object-1-2

すべてのobject-xxがグループ化され、別のファイルを出力するようにファイルを並べ替えようとしています。そのようです:

test-12, 2010, 17, 22, object-1-2    
test-23, 2012, 05, 34, object-1-2,
test-09 2011, 12, 55, object-1-2
test-11 2010, 12, 72, object-3-4
test-21 2012, 04, 23, object-4-5

このデータからクラスを作成しようとしています。これまでに行ったことは、.split( "、")を使用してフィールドを分割することです。最初の行で次のようになります。

'test-12', '2010', '17', '22', 'object-1-2'

他のすべての行についても同様です。

分割されたので、どうすればこれからクラスを作成できますか?各フィールドを割り当てることができるように?

4

1 に答える 1

2

行がリストlinesにある場合は、次のように並べ替えることができます。

lines.sort(key=lambda line: line.split()[4])

これにより、フィールド 4 の「object-xy」フィールドで並べ替えられます。

于 2012-06-07T23:38:59.537 に答える