import csv
def csv_dict_list(csv_file):
reader = csv.DictReader(open(csv_file, "r"))
dict_list = []
for line in reader:
dict_list.append(line)
return dict_list # [line for line in reader]
def applestock(dict_list):
retVal = []
for line in dict_list:
retVal.append(line.get("AAPL"))
return retVal # [line.get("AAPL") for line in dict_list]
stocks = csv_dict_list("newcsv.csv")
apple = applestock(stocks)
print(apple)
所以,我有一个程序,它接受一个csv文件,并将其转换成一个字典,然后附加行。csv文件包含三家不同公司的股票。以下是csv文件中的文本示例:
符号,日期调整,关闭
AAPL,2012年2月6日,58.064457
AAPL,1/12/2018173.059113
所以我需要做的是从字典里取出所有的值,打印出公司的最高股票,以及股票的日期。我的程序目前有一个行。获取函数,该函数尝试获取AAPL数据的所有行并返回它,但行。获取功能不起作用,也不返回苹果股票,只是不返回任何股票。你知道吗
我只需要帮助与.get函数,让它正常工作,并得到股票从它有效地返回。你知道吗
我用第一个函数运行了程序,这是在字典中返回的一些值:
[OrderedDict([('SymbolDateAdj Close', '')]), OrderedDict([('SymbolDateAdj Close', 'AAPL2/6/201258.064457')]), OrderedDict([('SymbolDateAdj Close', '')]), OrderedDict([('SymbolDateAdj Close', 'AAPL1/12/2018173.059113')])
这条线
将
line.get("AAPL")
的结果添加到列表中。line.get("AAPL")
如果行包含键“AAPL”,则返回line
,否则返回None
。在csv行中,“AAPL”是一个值,键是“Symbol”,因此代码应该是此代码获取“Symbol”键的值,如果值为“AAPL”,则将该行添加到列表中。你知道吗
相关问题 更多 >
编程相关推荐