2016-04-26 200 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)