У меня есть CSV-файл, который содержит биржевые символы и соответствующие цены.Назначение: 4) Функции для поиска диапазона и минимума / максимума акций с использованием созданного вами словаря.
Мои проблемы:
1) Файл CSV закрывается внутри функции, но еслиЯ создаю словарь без csv, функция range()
завершается ошибкой.
2) Результаты печатаются 10 раз без кода, который напрямую указывает печатать 10 раз
Как получить файл CSV дляимпортировать правильно (скопировал и вставил код из предыдущей функции, и он работал нормально), а затем распечатал диапазон запасов из полученного словаря.
использованный код:
def ranged():
while True:
a = float(input("Please enter max stock price: "))
print(a)
stockfile = "C:\Anaconda3\DOW_Stock.csv"
with open(stockfile,'r') as csv_dict:
csvreader = csv.reader(csv_dict)
xx = {}
for row in csvreader:
if csvreader.line_num !=1 :
key = row[0]
xx[key] = row[1:]
sorts = []
for row in csvreader:
sort = row[1]
sorts.append(sort)
for i in range(0,50):
print (sort[i])
ranged()
Я ожидал, что он напечатаетсписок акций и их цены <= вход </p>
Результаты, которые я получил:
ValueError: I/O operation on closed file.
Код, который я использовал: print('Highest Price Stock= ',max(results_dict, key=results_dict.get),max(results_dict.values()))
Результат, который я ожидал:
Please enter the amount you want to invest: 100
Lowest Priced Stock= INTC 47.74
Результаты, которые я получил:
Please enter the amount you want to invest: 100
Lowest Priced Stock= INTC 47.74
Lowest Priced Stock= INTC 47.74
Lowest Priced Stock= INTC 47.74
Lowest Priced Stock= INTC 47.74
Lowest Priced Stock= INTC 47.74
Lowest Priced Stock= INTC 47.74
Lowest Priced Stock= INTC 47.74
Lowest Priced Stock= INTC 47.74
Lowest Priced Stock= INTC 47.74
Lowest Priced Stock= INTC 47.74