2016-05-14 16 views
-3

私は自分の問題を提示しています。私はベンゼンの分子を持っています、私は各原子のデカルト座標を持っています。私が望むのは、z、x方向に分子の中心を中心に分子を回転させることです。Pythonの単純なデータの作業

はこれを行うために、私は、ファイル内の質量M.

の中心を計算する必要があり、分子の幾何学的形状の座標を(txtファイル)を以下に示します。

  X Y Z 
atom  4 5 7 C 
atom  3 7 9 C 

これ以上の行があります。テストファイルは、数字だけでなくデータも含みます。

私が持っている質問は、どうやってPythonの行と文字列を上書き/要約できますか?重心については、すべての原子のX座標を要約し、X座標を6で割る必要があるので、これをどうするかわかりません。

特定の行と行を選択する方法はわかっていますが、特定の要素は必要ありません。私は、行を読み、分割し、特定のデータを選択して要約するためのプログラムが必要です。

次の手順で案内してください。

ありがとうございます。

+4

これを解決するためのコードを作成しましたか?質問にコードを追加する必要があります。 –

答えて

0

ここでは、私が行った前提に基づいてコードを実装する2つの方法を書いており、ここで何が行われる必要があるのか​​を理解しています。

方法1:プログラム1

xcoordinatedata=[] 
fileopen=open("atomdata.txt", "r+") 
i=0 
for rows in fileopen.readlines(): 
    if i==0: 
     i=1 
    pass 
else: 
    xcoordinatedata.append(float(rows.split("\t")[1])/6) 

fileopen.close() 
print "The X coordinate data is", xcoordinatedata 

方法2:同じプログラム

xcoordinatedata=[] 
fileopen=open("atomdata.txt", "r+") 
i=0 
for row in fileopen.readlines(): 
    if i!=0: 
     xcoordinatedata.append(float(row.split("\t")[1])/6) 
     i+=1 
    i=1 

fileopen.close() 
print "out of the program", xcoordinatedata 

を実装するための第二の方法このことができます場合は私に知らせてください。私があなたをさらに助けるためにあなたのコードを提供してください。

関連する問題