zoukankan      html  css  js  c++  java
  • CSV to HTML Table with Python

    Project Overview:

    This purpose of this project is to write the contents of a csv file to an html file in the form of a table. The first row of the csv file is assumed to be a header row. The table will have predefined css styles applied to it. The styles will customize the header as well as alternate the color of each row.

    Description of Code:

    Starting on line 9, this if statement tests the number of arguments and and terminates the application with an exit status of 1 if the number of arguments are less than 3. Line 14 makes use of the csv modules reader object and loads the contents of the specified csv file into a variable “reader”. Line 17, creates an html file with the name specified in the second argument and opens it for writing. Line 23 simply writes the opening html table tag. Line 25 enters a for loop where each row of the csv file is read and written to the html file appropriately. Lines 26 though 30 write the header row. Lines 32 through 36 apply the css classes color1 and color2 to alternating rows. This allows the external css to alternate colors to make the each row of the table more readable to the end user.Lines 38 through 41 write the columns in the table. Additionally, they write the number of the columns position in the table. This allows external css to apply unique styling to each column. Line 46 ends the html table tag and Line 47 terminates the script with an exit status of 0.

    The Code:

    #!/usr/bin/python
    # create html table from csv
    # Author(s): Chris Trombley <ctroms@gmail.com>
    # Version 2 - added css class to all columns except header
    
    import sys
    import csv
    
    if len(sys.argv) < 3:
        print "Usage: csvToTable.py csv_file html_file"
        exit(1)
    
    # Open the CSV file for reading
    reader = csv.reader(open(sys.argv[1]))
    
    # Create the HTML file for output
    htmlfile = open(sys.argv[2],"w")
    
    # initialize rownum variable
    rownum = 0
    
    # write <table> tag
    htmlfile.write('<table>')
    
    for row in reader: # Read a single row from the CSV file
        if rownum == 0:
            htmlfile.write('<tr>') # write <tr> tag
              for column in row:
                  htmlfile.write('<th>' + column + '</th>') # write header columns
              htmlfile.write('</tr>') # write </tr> tag
          else: # write all other rows
              colnum = 1
              if rownum % 2 == 0:
                  htmlfile.write('<tr class="color1">')
              else:
                  htmlfile.write('<tr class="color2">')
    
              for column in row:
                  htmlfile.write('<td class="column_' + str(colnum) + '">' + column + '</td>')
                  colnum += 1
              htmlfile.write('</tr>')
    
        rownum += 1
    
    # write </table> tag
    htmlfile.write('</table>')
    exit(0)

    Python Programming Language – Official Website

    Python Documentation – CSV File Reading and Writing

  • 相关阅读:
    ZT 二叉树先序,中序,后序遍历非递归实现
    二叉树的遍历(一)
    Z :彻底了解指针数组,数组指针以及函数指针 [复
    ZT 复杂的函数指针例子分析 2008
    D:hunting2014小题目字符串倒序
    本周实验的PSP0过程文档
    构建之法阅读笔记02
    第二周学习进度
    实现自动生成30道四则运算题目(2)
    实现自动生成30道四则运算题目
  • 原文地址:https://www.cnblogs.com/xjsllll/p/3006291.html
Copyright © 2011-2022 走看看