当我在下面运行我的代码时,我得到:ValueError: invalid literal for int() with base 10: '0.977759164126'
但我不知道为什么
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
数据系列以行为单位,值在文本文件中以制表符分隔。文件中的所有行都是相同的长度。
该脚本的目的是计算每列的平均值并将输出写入文本文件。
答案 0 :(得分:9)
int()
用于整数(数字如7,12,7965,0,-21233)。你可能需要float()
答案 1 :(得分: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并查看结果。