2010-11-18 17 views
1

内の値の平均値を計算する:ValueError: invalid literal for int() with base 10: '0.977759164126'が、私はのPython:私が手の下に、私は私のコードを実行すると、テキストファイル

file_open = open("A1_B1_1000.txt", "r") 
file_write = open ("average.txt", "w") 

line = file_open.readlines() 
list_of_lines = [] 
length = len(list_of_lines[0]) 
total = 0 


for i in line: 
    values = i.split('\t') 
    list_of_lines.append(values) 

count = 0 
for j in list_of_lines: 
    count +=1 

for k in range(0,count): 
    print k 
    list_of_lines[k].remove('\n') 



for o in range(0,count): 
    for p in range(0,length): 
     print list_of_lines[p][o] 
     number = int(list_of_lines[p][o])  
     total + number 
    average = total/count 
    print average 

私のテキストファイルのように見える理由を知らない:

0.977759164126 0.977759164126 0.977759164126 0.977759164126 0.977759164126
0.981717034466 0.981717034466 0.981717034466 0.981717034466 0.98171703446

データ系列は行内にあり、値はテキストファイルで区切られます。ファイル内のすべての行は同じ長さです。

このスクリプトの目的は、各列の平均を計算し、出力をテキストファイルに書き込むことです。

答えて

9

int()は整数(数字は7,12,7965,0、-21233など)に使用されます。おそらく必要ですfloat()

+0

このような簡単な答えです。私の悪い – Harpal

+1

ですので、答えを受け入れるには、チェックをクリックしてください! –

+0

母はそれが私に8分待たなければならないだろう:( – Harpal

0

Pythonは浮動小数点の処理に制限があります。これらはすべてここでうまく動作しますが、より長いものや算術演算の場合は、Decimalモジュールを使いたいと思っています。

import Decimal 
result = Decimal.Decimal(1)/Decimal.Decimal(5) 
print result 

ドキュメントへのリンク http://docs.python.org/2/library/decimal.html

IDLEに1.1を入力してみて、あなたの結果が何であるかを参照してください。

関連する問題