私はPythonの初心者で、区切り文字なしのリストであるスペースである長いtxtファイルを処理しようとしています。私は最初の列に従ってソートしたいと思う。入力ファイルを最初の列、区切り記号はなくスペースで並べ替えます。
コードは正常にコンパイルされますが、番号の最初の列の最初の値に基づいて出力ファイルがソートされますが、番号自体には依存しません。私もitemgetter演算子を成功させることなく試しました。
私はこれを数時間試してみましたが、誰でも助けてくれることを願っています。なぜ私の行分割機能は私が望む効果がないのですか?
f = open("traj_nvt_20000000.txt","r+")
lines = f.readlines() for line in f.readlines():
line = line.strip()
parts = line.split(" ")
lines = sorted(lines, key=lambda line: line[0])
with open('test123.txt', 'w') as text:
text.writelines(lines)
私はソートしたいテキストファイルテーブルの抜粋:
54 2 -9.5377 -4.02842 -7.51558 7
55 2 -9.6834 -4.88656 -7.29358 7
459 2 -8.76522 -8.30942 -10.144 58
50 1 -9.33774 -4.46175 -7.24097 7
56 2 -8.84618 -4.59922 -7.44773 7
462 2 -10.3377 -9.37008 -10.2265 58
460 2 -8.59323 -8.64832 -9.32914 58
457 1 -8.96511 -8.38283 -9.63619 58
461 2 -9.0727 -7.89321 -9.40869 58
369 1 -5.93643 -6.20083 -7.56102 47
504 2 -7.94033 -2.66938 -10.3925 63
371 2 -6.24752 -6.57434 -7.3023 47
ヘルプは非常に高く評価されます。
は思え[0]' ''最初の*の列を参照します*最初の文字よりむしろ。 – wwii
'line [0]'はすでに最初の列です(私の再生器を確認してください、OPコードはちょっと言います...あまりにもファジーなのですが、アイデアはありますが動作しません) –
culpa。 – wwii