将CSV转换为HTML表格格式并存储在HTML文件中
我已经尝试了几个shell脚本来转换为HTML表格格式,但我没有得到所需的输出。任何人都可以在这里帮助将CSV转换为使用Python或PowerShell的HTML表格格式并将其存储到HTML文件中。将CSV转换为HTML表格格式并存储在HTML文件中
使用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。
我在此之前询问过问题之前已尝试过上述命令。输出表格格式不正确。 – louis
这可能会帮助您:
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)
使用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。
我在此之前询问过问题之前已尝试过上述命令。输出表格格式不正确。 – louis
这可能会帮助您:
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)
请提供[MCVE]显示哪里出现了问题,人可能会回答你的问题。 – snakecharmerb
我曾用过这样的东西:echo“
回答
使用PowerShell很容易。您可以使用ConvertFrom-Csv cmdlet将您的csv转换为对象数组,然后使用ConvertTo-Html cmdlet将其转换为html表格。要保存HTML中,使用Set-Content的cmdlet:
输出:
注意:如果你需要从文件加载CSV,您可以使用Get-Content cmdlet来加载并使用上面的示例对其进行转换,或者可以使用Import-Csv cmdlet。
我在此之前询问过问题之前已尝试过上述命令。输出表格格式不正确。 – louis
这可能会帮助您:
相关问题