title: How to Store Rows from CSV File into Python and Print Data with HTML
body: <p>Basically my problem is this: I have a CSV excel file with info on Southpark characters and I and I have an HTML template and what I have to do is take the data by rows (stored in lists) for each character and using the HTML template given implement that data to create 5 seperate HTML pages with the characters last names.</p>
  
  <p>Here is an image of the CSV file: i.imgur.com/rcIPW.png</p>
  
  <p>This is what I have so far:</p>
  
  <pre><code>askfile = raw_input("What is the filename?")
  
  southpark = []
  
  filename = open(askfile, 'rU')
  
  for row in filename:
      print row[0:105]
  
  filename.close()
  </code></pre>
  
  <p>The above prints out all the info on the IDLE shell in five rows but I have to find a way to separate each row AND column and store it into a list (which I don't know how to do). It's pretty rudimentary code I know I'm trying to figure out a way to store the rows and columns first, then I will have to use a function (def) to first assign the data to the HTML template and then create an HTML file from that data/template..and I'm so far a noob I tried searching through the net but I just don't understand the stuff.</p>
  
  <p>I am not allowed to use any downloadable modules but I can use things built in Python like import csv or whatnot, but really its supposed to be written with a couple functions, list, strings, and loops..</p>
  
  <p>Once I figure out how to separate the rows and columns and store them then I can work on implementing into HTML template and creating the file.</p>
  
  <p>I'm not trying to have my HW done for me it's just that I pretty much suck at programming so any help is appreciated! </p>
  
  <p>BTW I am using Python 2.7.2 and if you want to DL the CSV file click <a href="http://www.cse.msu.edu/~cse231/Projects/proj06.dir/southPark.csv" rel="nofollow">here</a>.</p>
  
  <hr>
  
  <p>UPDATE:</p>
  
  <p>Okay, thanks a lot! That helped me understand what each row was printing and what info is being read by the program. Now since I have to use functions in this program somehow this is what I was thinking.</p>
  
  <p>Each row (0-6) prints out separate values, but just the print row function prints out one character and all his corresponding values which is what I need. What I want is to print out data like "print row" would but I have to store each of those 5 characters in a separate list.</p>
  
  <p>Basically "print row" prints out all 5 characters with each of their corresponding attributes, how can I split each of them into 5 variables and store them as a list?</p>
  
  <p>When I do print row[0] it only prints out the names, or print row<a href="http://www.cse.msu.edu/~cse231/Projects/proj06.dir/southPark.csv" rel="nofollow">1</a> only prints the DOB. I was thinking of creating a def function that takes only print "row" and splits into 5 variables in a loop and then another def function takes those variables/lists of data and combines them with the HTML template, and at the end I have to figure out how to create HTML files in Python..</p>
  
  <p>Sorry if I sound confusing just trying to make sense of it all. This is my code right now it gives an error that there are too many values to unpack but I am just trying to fiddle around and try different things and see if they work. Based on what I wanted to do above I will probably have to delete all most of this code and find a way to rewrite it with list type functions like .append or .strip, etc which I am not very familiar with..</p>
  
  <pre><code>import csv
  
  original = file('southpark.csv', 'rU')
  
  reader = csv.reader(original)
  
  # List of Data
  name, dob, descript, phrase, personality, character, apparel = []
  
  count = 0
  
  def southparkinfo():
  for row in reader:
      count += 1
      if count == 0:
          row[0] = name
          print row[0] # Name (ex. Stan Marsh)
          print "----------------"
      elif count == 1:
          row[1] = dob
          print row[1] # DOB
          print "----------------"
      elif count == 2:
          row[2] = descript
          print row[2] # Descriptive saying (ex. Respect My Authoritah!)
          print "----------------"
      elif count == 3:
          row[3] = phrase
          print row[3] # Catch Phrase (ex. Mooom!)
          print "----------------"
      elif count == 4:
          row[4] = personality
          print row[4] # Personality (ex. Jewish)
          print "----------------"
      elif count == 5:
          row[5] = character
          print row[5] # Characteristic (ex. Politically incorrect)
          print "----------------"
      elif count == 6:
          row[6] = apparel
          print row[6] # Apparel (ex. red gloves)
      return
  
  reader.close()
  </code></pre>