原子位置を説明する 2 つのデータ セットがあります。それらは、私が比較したい別々のファイルにあり、座標によって一致する原子を特定することを目的としています。どちらの場合もデータは次のようになり、最大で 1000 程度のエントリが存在します。ファイルは、異なるサイズのシステムを記述し、次の形式を持っているため、長さが異なります。
1 , 0.000000000000E+00 0.000000000000E+00
2 , 0.000000000000E+00 2.468958660000E+00
3 , 0.000000000000E+00 -2.468958660000E+00
4 , 2.138180920454E+00 -1.234479330000E+00
5 , 2.138180920454E+00 1.234479330000E+00
最初の列はエントリ ID で、2 番目の列は x、y の座標のセットです。
私がやりたいことは、両方のデータセットの座標を比較し、一致と対応する ID を特定することです。たとえば、「ファイル 1 のエントリ 3 はファイル 2 のエントリ 6 に対応します」などです。この情報を使用して、ファイル 2 内の座標値を変更します。
ファイルを1行ずつ読み取り、コマンドを使用して1行ごとに2つのエントリに分割し、リストに入れましたが、比較ビットを指定する方法について少し困惑しています-特に2番目を比較するように指示しますエントリのみ、最初のエントリを呼び出すことができます。ループが必要になると思いますか?
これまでのコードは次のようになります。
open1 = open('./3x3supercell_coord_clean','r')
openA = open('./6x6supercell_coord_clean','r')
small_list=[]
for line in open1:
stripped_small_line = line.strip()
column_small = stripped_small_line.split(",")
small_list.append(column_small)
big_list=[]
for line in openA:
stripped_big_line = line.strip()
column_big = stripped_big_line.split(",")
big_list.append(column_big)
print small_list[2][1] #prints out coords only