Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 试图从一个文件中提取数据,然后从该文件中计算两个不同的平均值,结果它一直显示为0.0,我该怎么办?_Python_List_File Io_Python 3.x_Average - Fatal编程技术网

Python 试图从一个文件中提取数据,然后从该文件中计算两个不同的平均值,结果它一直显示为0.0,我该怎么办?

Python 试图从一个文件中提取数据,然后从该文件中计算两个不同的平均值,结果它一直显示为0.0,我该怎么办?,python,list,file-io,python-3.x,average,Python,List,File Io,Python 3.x,Average,此程序要求输入包含天气数据的文件名,如rettet_verdata_florida.txt。然后,它打开该文件,并询问要将特定数据写入的文件的名称。它还要求提供年份 然后,它应该读取该年不同月份的数据(在文本文件中用\t分隔),将月份的总和放入“sum_temp”和“sum_wind”中,并计算平均值,同时将其打印到文件和屏幕上。但是平均每个月的结果是0.0,即使它应该可以正常工作 以下是一些列表: Stnr Dato DD06 DD12 DD18 FFM FXM

此程序要求输入包含天气数据的文件名,如rettet_verdata_florida.txt。然后,它打开该文件,并询问要将特定数据写入的文件的名称。它还要求提供年份

然后,它应该读取该年不同月份的数据(在文本文件中用\t分隔),将月份的总和放入“sum_temp”和“sum_wind”中,并计算平均值,同时将其打印到文件和屏幕上。但是平均每个月的结果是0.0,即使它应该可以正常工作

以下是一些列表:

Stnr Dato DD06 DD12 DD18 FFM FXM POM TAM UUM 50540 07.01.1957 150 170 170 6.2 8.8 1010.6 6.3 94 50540 08.01.1957 160 160 200 7.2 9.8 1001.8 8.0 99 50540 09.01.1957 290 200 160 8.1 13.3 990.2 5.7 91 50540 10.01.1957 300 360 350 12.7 15.4 1008.2 2.8 87 50540 11.01.1957 0 200 160 3.8 10.4 1015.1 1.7 98 50540 12.01.1957 0 330 340 5.1 10.4 995.0 5.0 96 50540 13.01.1957 350 130 60 6.5 12.3 1018.2 1.6 54 50540 14.01.1957 0 130 150 3.1 7.0 1033.0 -2.8 69
这里的问题之一是:您有:

year = float(input("And which year do you want it from?: "))
date_info = split_numbers[1].split('.')
year_of_line = date_info[2]
month_of_line = date_info[1]

if year_of_line == year: 
是一个
浮动
。 然后你有:

year = float(input("And which year do you want it from?: "))
date_info = split_numbers[1].split('.')
year_of_line = date_info[2]
month_of_line = date_info[1]

if year_of_line == year: 

其中,
行的年
str
,即条件始终为假。因此,您的数据总是零。如果您一直在使用
Python2.x
,这个问题可能更容易发现,因为您的结果都是
0
,而不是
0。

您能从该文件中复制并粘贴一些数据,而不是截图吗?尝试过了,但结果非常混乱:/如果您将其放在
标记中会怎么样?像
你的数据
?很好,没想到在你把所有异常都弄乱的块中发生了什么?我试着把年和月作为一个浮动,但它仍然返回0.0,似乎没有消除问题。使用您在上面提供的数据,我得到了Dato TAM FFM(1.1957,0.9129032258064517,1.70000000000002)。当然,这些数据都是1月份的。也许你的数据有问题。尝试:在文件中的
行之前添加
文件\u open.readline()。你可能会看到一些错误弹出。我发现,这是一个新手的问题…我已经设置了年和年的年的年线作为浮动,但年仍然弹出1957年,而年的年线成为1957.0,但感谢大家的帮助!