2016-04-26 57 views
-1

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

+1

请提供[MCVE]显示哪里出现了问题,人可能会回答你的问题。 – snakecharmerb

+0

我曾用过这样的东西:echo“

”;当读取INPUT时为 ; echo“​​$ {INPUT //,/​​}”; done ” – louis

回答

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。

+0

我在此之前询问过问题之前已尝试过上述命令。输出表格格式不正确。 – louis

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)