我尝试过很少的shell脚本来转换为HTML表格格式,但我没有得到所需的输出。任何人都可以帮助使用Python或PowerShell将CSV转换为HTML表格格式并将其存储到HTML文件中。
答案 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()
尝试一下!