将CSV转换为HTML表格的方法

5

如何将CSV文件转换为HTML表格?我有一个带逗号“,”的CSV文件,我想将其转换为HTML表格。


你是否编辑了问题以删除必须使用shell脚本的要求?如果是,请同时删除标签。 - dj_segfault
2个回答

13

好的,你真的只想在bash中实现吗?任务完成。

cat > input.csv
a,b,c
d,e,f
g,h,i

echo "<table>" ; while read INPUT ; do echo "<tr><td>${INPUT//,/</td><td>}</td></tr>" ; done < input.csv ; echo "</table>"
<table>
<tr><td>a</td><td>b</td><td>c</td></tr>
<tr><td>d</td><td>e</td><td>f</td></tr>
<tr><td>g</td><td>h</td><td>i</td></tr>
</table>

我的第一次尝试使用了"cat",但我觉得那是作弊,所以我用"while read"重新写了它。


我真的很喜欢这个解决方案,但是:第一行是否可以有<th>标签(用于表头),而其余行则使用<td>标签? - skilbjo
Bash有变量,因此您可以设置一个变量来表示第一行,例如firstRow=1;echo "<table>";while read INPUT;do if [[ $firstRow = 1 ]];then echo "<tr><th>${INPUT//,/</td><td>}</th></tr>";firstRow=0;else echo "<tr><td>${INPUT//,/</td><td>}</td></tr>";fi;done < input.csv;echo "</table>"。 - dj_segfault
这将只把第一行的第一列转换为表头,而不是将第一行的第二列、第三列等转换为<th>...请随意在任何大小的CSV文件上进行测试,只要它有多于1列的数据。 - skilbjo

0

还有一个TextFixer.com。请参见http://www.textfixer.com/html/csv-convert-table.php。 - fionaredmond

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接