This will just iterate over all rows,and return only last row.
def readfile(filepath): with open(r'C:\Users\...\Desktop\AAPLcsv.csv', 'r') as file: reader = csv.reader(file) next(reader, None)#skip header for index, row in enumerate(reader): return rowHave to collect all row in list before return.
def readfile(filepath=''): apple_stock = [] with open('apple.csv', 'r') as file: reader = csv.reader(file) next(reader, None)#skip header for index, row in enumerate(reader): apple_stock.append(row) return apple_stockTo do a test made apple.csv:
Output:header
2,Name,a,1
1,John,b,204.4444
2,Eric,c,200.2899932861328
3,Brad,d,177.9499969482422
Added count and show live price.#import all necessary modules import csv from yahoo_fin import stock_info as live import pandas as pd from datetime import date import datetime def readfile(filepath=''): apple_stock = [] with open('apple.csv', 'r') as file: reader = csv.reader(file) next(reader, None)#skip header for index, row in enumerate(reader): apple_stock.append(row) return apple_stock if __name__ == "__main__": #get Apple's latest quote price path = r'apple.csv' price = live.get_live_price("AAPL") count = 0 for index, row in enumerate(readfile(path)): if float(row[3]) < price: print(row[3]) count += 1 print('-' * 10) print(f'Live price now is: {price} count below from {path} is: {count}')
Output:1
200.2899932861328
177.9499969482422
----------
Live price now is: 202.58999633789062 count below from apple.csv is: 3