如何使用.csv文件创建字典并将其用作功能?

时间:2019-07-17 21:14:09

标签: python-3.x opencsv

我有一个导入的.csv文件,基本上我需要从.csv文件创建字典并将其与现有代码一起使用。我希望能够将其用作函数,并在需要时调用新字典及其值。这是我到目前为止的内容:

csv文件内容:

  

成交量52周高52周低股息收益率PE_Ratio
  150.75 41.03 233.47 142 1.97%12.34
  98.65 3.23 114.55 87.54 1.60%23.03
  340.53 4.74 394.28 292.47 2.51%19.03
  129.77 4.2 173.24 112.06 2.68%20.15
  111.77 5.67 133.88 100.22 4.04%14.8
  111.42 8.73 120.2 97.68 1.61%13.05
  175.37 2.69 275.31 151.7 1.83%12.31
  177.89 4.72 215.43 158.09 2.37%18.85
  119.83 4.76 171.13 105.94 5.35%18.65
  47.74 22.75 57.5995 42.04 2.54%14.44

代码段

import csv
#import csv file.
    invest_dict = 'DOW_Stock_short.csv'


    with open(invest_dict , 'r') as invest_obj:
        invest_dict = 'DOW_Stock_short.csv'
        invest_reader = csv.reader(invest_obj)
        result = {}
        for row in invest_reader:
            if invest_reader.line_num !=1:
                key = row[0]
                result[key] = row[1]
        print(result)






    print("The purpose of this project is to provide Stock Analysis by reading \n the data from a csv file and performing analysis on this data.")
    def Greeting():
        print(".........Welcome.............")




    def Conversions(investment_amount):



          investment_amount = float(investment_amount)

          Euro = float(round(investment_amount / 1.113195,2) )

          Pound = float(round(investment_amount / 1.262304,2) )

          Rupee = float(round(investment_amount / 0.014316,2) )

          print("The amount you invest in euro is:  {:.2f}" .format(Euro) )
          print("The amount you invest in pounds is:  {:.2f}" .format(Pound) ) 
          print("The amount you invested in Rupees is:  {:.2f}" .format(Rupee) )




    def minimum_stock():
        key_min = min(result, key = (lambda k: result[k]))
        print("The lowest stock you can buy is: ",result[key_min])



    def maximum_stock():
        key_max = max(result, key = (lambda k: result[k]))
        print("The highest stock you may purchase is: ",result[key_max])



    def invest_range(investment_amount):
                new_list = []
                new_list = [i for i in result if i > 50 and i < 600]
                return(sorted(new_list))
    answer = 'yes'

    while answer:



    print(Greeting())

    try:
        investment_amount = float(input("Please enter the amount you want to invest:$ "))
        print("Thank you for investing:$ {:,.2f}".format(investment_amount))
    except:
        print("Please enter a valid amount...")
        continue 

    print(Conversions(investment_amount))






    for i in result:
        i = investment_amount
        if i <25:
            print("Not enough funds to purchase stock")
            break
        elif i>25 and i <250:
            print(minimum_stock())
            break
        elif i >= 250 and i <= 1000:
            print(maximum_stock())
            break

    print("This is the range of stocks you may purchase: ", invest_range(investment_amount))

    answer = input("Would you like to complete another conversion? yes/no " )
    if answer == 'no':
        print("Thank you for investing.")
        break

0 个答案:

没有答案