csv ファイルがあり、そこに存在する各列の平均を計算しようとしています。
#!/usr/bin/python
with open('/home/rnish/Desktop/lbm-reference.dat.ref-2013-01-30-13-00-15big.csv', "rU") as f:
columns = f.readline().strip().split(' ')
numRows = 0
sums = [0] * len(columns)
for line in f:
values = line.split(" ")
print values
for i in xrange(len(values)):
sums[i] += float(values[i])
numRows += 1
# for index, summedRowValue in enumerate(sums):
# print columns[index], 1.0 * summedRowValue / numRows
私が得るエラーは次のとおりです。
File "excel.py", line 15, in <module>
sums[i] += float(values[i])
ValueError: invalid literal for float(): 0,536880742,8861743,0,4184866,4448905
からの出力print values
は次のとおりです。
['0,256352728,10070198,5079543,5024472,34764\n']
['0,352618127,10102320,4987654,3082111,1902909\n']
['0,505838297,9977968,423278,4709666,5041639\n']
['0,506598469,10083489,0,5032146,5054715\n']
['0,536869414,7229488,39934,4322290,3607046\n']
csv ファイルは次のようになります。
0,256641418,10669052,4803710,4759922,0
0,484517531,9889830,1457230,4084777,4959529
0,506902273,9673699,0,5281012,5293376
誰かが光を当てて、この問題を理解するのを手伝ってくれませんか:
改行文字が原因であるといくつかの投稿を読んだ後、私は推測しています。私は正しいですか?