如何在python中访问平面列表并对第二个值执行数学函数
这是学校的作业。我有一个文本文件,其中包含以下缩写列表,每个条目在一行上。第一个条目是日期,pip后的第二个条目是股市收盘价,文件中大约有365个条目如何在python中访问平面列表并对第二个值执行数学函数,python,python-3.x,list,Python,Python 3.x,List,这是学校的作业。我有一个文本文件,其中包含以下缩写列表,每个条目在一行上。第一个条目是日期,pip后的第二个条目是股市收盘价,文件中大约有365个条目 8/28/2018|26064.01953 8/29/2018|26124.57031 8/30/2018|25986.91992 使用下面的代码,我将数据拆分为一个列表,日期和值分开 import os import math import statistics def main (): infile = open('DJI.txt'
8/28/2018|26064.01953
8/29/2018|26124.57031
8/30/2018|25986.91992
使用下面的代码,我将数据拆分为一个列表,日期和值分开
import os
import math
import statistics
def main ():
infile = open('DJI.txt', 'r')
values = infile.read()
infile.close()
values=values.split("\n")
values=[value.split("|") for value in values]
print(values)
avg = sum([float(l[1]) for l in values])/len(values)
main()
这将提供以下输出
[['8/28/2018', '26064.01953'], ['8/29/2018', '26124.57031'], ['8/30/2018', '25986.91992'],
Avg行给出了以下错误:IndexError:list index超出范围,但是当我将1切换为0时,它给出了另一个错误,即2018年8月28日无法将字符串转换为浮点
我的任务是创建一个计算
全年的平均收盘价。
每月平均收盘价
最高收盘价和发生日期。
最低收盘价及其发生日期。
将价格从最低到最高排序,并将排序后的列表写入名为DJI_sorted的新文本文件
我在如何访问列表列表中的第二个值以对文件执行统计时遇到问题。我也不确定如何编写一个代码,将列表从最低到最高排序,以及每个月的平均收盘价,而不是整个文件
非常感谢您的帮助。最后可能有一条空行。 将直线计算平均值修改为该值 avg=如果lenx>1,则x值的总和[floatx[1]/lenx值
你能共享文本文件吗?有没有办法附加文件,或者你只是想发布数据?是的,你可以上传文本文件。你的文本文件可能不一致。您应该共享文本文件以用于重现问题。文本文件:
def main():
infile = open('DJI.txt', 'r')
values = infile.read()
infile.close()
values = values.split("\n")
values = [value.split("|") for value in values if len(value.split("|")) > 1]
print(values)
avg = sum([float(l[1]) for l in values]) / len(values)
print("-------avg--------", avg)
main()