input: Write a function to parse a CSV file and generate a new CSV file that includes the total number of rows, total number of columns, and the total amount of data for each attribute. If the CSV file is empty, the output should show 0 rows and 0 columns with an empty data totals.
  assert parse_csv('test_empty.csv')==[['Rows', 'Columns', 'Data Totals'], [0, 0, []]]
  assert parse_csv('test_single_row.csv')==[['Rows', 'Columns', 'Data Totals'], [1, 3, [['value1', 1], ['value2', 1], ['value3', 1]]]]
  assert parse_csv('test_multiple_rows.csv')==[['Rows', 'Columns', 'Data Totals'], [3, 4, [['value1', 3], ['value2', 3], ['value3', 3], ['value4', 3]]]]
output: 
  def parse_csv(filename):
      try:
          with open(filename, 'r') as file:
              lines = file.readlines()
              if not lines:
                  return [['Rows', 'Columns', 'Data Totals'], [0, 0, []]]
              
              rows = len(lines)
              columns = len(lines[0].strip().split(','))
              data_totals = []
              
              for col in range(columns):
                  col_data = [line.strip().split(',')[col] for line in lines]
                  unique_data = set(col_data)
                  data_totals.append([col_data[0], len(unique_data)])
              
              return [['Rows', 'Columns', 'Data Totals'], [rows, columns, data_totals]]
      except FileNotFoundError:
          return [['Rows', 'Columns', 'Data Totals'], [0, 0, []]]
  