text: # If you're new to file handling, be sure to check out with_open.py first!
  # You'll also want to check out read_text.py before this example.  This one is a bit more advanced.
  
  with open('read_csv.csv', 'r') as states_file:
      
      # Instead of leaving the file contents as a string, we're splitting the file into a list at every new line, and we save that list into the variable states
      states = states_file.read().split("\n")
      
      # Since this is a spreadsheet in comma separated values (CSV) format, we can think of states as a list of rows.
      # But we'll need to split the columns into a list as well!
  
      for index, state in enumerate(states):
          states[index] = state.split(",")
  
  # Now we have a nested list with all of the information!
  
  # Our file looks like this:
  # State, Population Estimate, Percent of Total population
  # California, 38332521, 11.91%
  # Texas, 26448193, 8.04%
  # ...
  
  # Our header row is at state[0], so we can use that to display the information in a prettier way.
  for state in states[1:]: # We use [1:] so we skip the header row.
  
      # state[0] is the first column in the row, which contains the name of the state.
      print "\n---{0}---".format(state[0])
  
      for index, info in enumerate(state[1:]): # We use [1:] so we don't repeat the state name.
          print "{0}:\t{1}".format(states[0][index+1], info)
  
      # states is the full list of all of the states.  It's a nested list.  The outer list contains the rows, each inner list contains the columns in that row.
      # states[0] refers to the header row of the list
      # So states[0][0] would refer to "State", states[0][1] would refer to "Population Estimate", and states[0][2] would refer to "Percent of total population"
  
      # state is one state within states. state is also a list, containing the name, population, and percentage of that particular state.
      # So the first time through the loop, state[0] would refer to "California", state[1] would refer to 38332521, and state[2] would refer to 11.91%
      # Since state is being create by the for loop in line 24, it gets a new value each time through.
  
      # We're using enumerate to get the index (slicing number) of the column we're on, along with the information.
      # That way we can pair the column name with the information, as shown in line 30.
      # NOTE: Since we're slicing from [1:] in line 29, we need to increase the index by + 1, otherwise our headers will be off by one.
  
  # Sample output:
  
  # ---"California"---
  # "Population Estimate":  38332521
  # "Percent of Total population":  "11.91%"
  
  # ---"Texas"---
  # "Population Estimate":  26448193
  # "Percent of Total population":  "8.04%"
  
  # ---"New York"---
  # "Population Estimate":  19651127
  # "Percent of Total population":  "6.19%"