我正在尝试使用python 3.4找到文本文件数据的平均,最小和最大金额。
输入文本文件包含两个数字:
请注意,文件中的每一天都没有读数,文件中的某些行以#
开头,并被解释为注释。
为了找到每天的平均值,最小值和最大值,我使用了以下代码,但它无法正常工作,因为拆分列表包含#
和其他注释。
是否有人可以建议我以适当的方式删除不需要的部分?或者可以建议我找到每天的平均,最小和最大量的适当方法。
代码如下:
import sys, math, pylab
with open('generation.dat') as f:
for line in f:
parts = line.split() # Will split line into parts
if len(parts) > 1: # if at least 2 columns
days = parts[0] # first line denotes the day
readings = parts[1] # second line is the reading of the generation meter at the end of the day
#days.remove(#)
#readings.remove(Day, holiday)
#d = int(days)
#r = float (readings)
print (days, readings) # print columns
amounts = [ readings[i] - readings[i-1] for i in range(1, len(readings))
print ("Mean amount generated per day is:", (sum(amounts) / len(amounts)))
print ("Minimum amount generated per day is:", min(amounts))
print ("Maximum amount generated per day is:", max(amounts))
文本文件包含下面提到的数据
# Day zero is 30 xi 2011
0 99.5
# xii 2011
1 102.1
2 109.9
3 116.5
4 117.7
5 124.2
6 131.6
7 140.9
8 141.7
9 151
10 158.2
11 158.8
12 167.6
13 175
14 179.3
15 183.2
16 183.7
17 190.4
18 195
19 195.7
20 200
21 200.9 shortest day
使用上述代码后输出显示如下:
# Day
0 99.5
# xii
1 102.1
2 109.9
3 116.5
4 117.7
5 124.2
6 131.6
7 140.9
8 141.7
9 151
10 158.2
11 158.8
12 167.6
13 175
14 179.3
15 183.2
16 183.7
17 190.4
18 195
19 195.7
20 200
21 200.9
答案 0 :(得分:0)
如果您想跳过评论行(从<form class="example-form">
<mat-form-field class="example-full-width">
<input matInput placeholder="Favorite food" value="Sushi">
</mat-form-field>
<mat-form-field class="example-full-width">
<textarea matInput placeholder="Leave a comment"></textarea>
</mat-form-field>
</form>
开始),只需替换
#
人:
if len(parts) > 1:
如果您想删除每行中的所有评论,只需添加
即可if len(parts) > 1 and not line.startswith('#'):
在行line = line.split('#')[0]
之前