将CSV转换为HTML表格格式并存储在HTML文件中

时间:2016-04-26 05:32:15

标签: python html csv powershell

我尝试过很少的shell脚本来转换为HTML表格格式,但我没有得到所需的输出。任何人都可以帮助使用Python或PowerShell将CSV转换为HTML表格格式并将其存储到HTML文件中。

3 个答案:

答案 0 :(得分:1)

使用PowerShell很容易。您可以使用ConvertFrom-Csv cmdlet将csv转换为对象数组,并使用ConvertTo-Html cmdlet将其转换为html表。要存储html,请使用Set-Content cmdlet:

$myCsv = 
@'
Id, Name
1, Hello
2, World
'@

$myCsv | ConvertFrom-Csv | ConvertTo-Html | Set-Content -Path 'YOUR_PATH_HERE.csv'

输出:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML TABLE</title>
</head><body>
<table>
<colgroup><col/><col/></colgroup>
<tr><th>Id</th><th>Name</th></tr>
<tr><td>1</td><td>Hello</td></tr>
<tr><td>2</td><td>World</td></tr>
</table>
</body></html>

注意:如果需要从文件加载csv,可以使用Get-Content cmdlet加载它并使用上面的示例进行转换,也可以使用Import-Csv cmdlet。

答案 1 :(得分:1)

这可能会对您有所帮助:

 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>')

 # generate table contents

for row in reader: # Read a single row from the CSV file

 # write header row. assumes first row in csv contains header
   if rownum == 0:
      htmlfile.write('<tr>') # write <tr> tag
      for column in row:
          htmlfile.write('<th>' + column + '</th>')
      htmlfile.write('</tr>')

  #write all other rows 
   else:
      htmlfile.write('<tr>')    
      for column in row:
          htmlfile.write('<td>' + column + '</td>')
      htmlfile.write('</tr>')

   #increment row count 
   rownum += 1

 # write </table> tag
   htmlfile.write('</table>')

 # print results to shell
   print "Created " + str(rownum) + " row table."
   exit(0)

答案 2 :(得分:0)

嗯,我认为最简单的方法是

import pandas as pd

csv = pd.read_csv('csv_file.csv')
html_table = csv.to_html()

f = open('html_file.html', 'w')
f.write(html)
f.close()

尝试一下!