input: from typing import List, Dict
  
  def parse_csv(filename: str) -> Dict:
      """Parses a CSV and generates a new CSV that adds the total number of rows, total 
      number of columns, and total amount of data for each attribute.
      >>> result = parse_csv('test.csv')
      >>> result
      {'Rows': 10, 'Columns': 5, 'Data Totals': [100.0, 200.0, 150.0, 250.0, 300.0]}
      """
      with open(filename) as csv_file:
          reader = csv.DictReader(csv_file)
          rows =0
          cols = 0
          data_totals = []
          for row in reader:
              rows += 1
              cols = len(row)
              for col in row:
                  if len(data_totals) < cols:
                      data_totals.append([float(row[col]),1])
                  else:
                      existing_total = data_totals[cols - 1]
                      new_total = [existing_total[0] + float(row[col]), existing_total[1] + 1]
                      data_totals[cols - 1] = new_total
          # Convert data_totals to a list of sums
          data_totals = [total[0] for total in data_totals]
          return {'Rows': rows, 'Columns': cols, 'Data Totals': data_totals}
  
  if __name__ == '__main__':
      filename = 'test.csv'
      parse_csv(filename)
  
output:     
      import csv
  