使用Python将xlsx转换为html表格的方法

203 阅读1分钟

下面介绍几个使用Python将Excel的xlsx文件自动转换为html的表格的集中方法。

使用pandas

使用pandas转换html很简单,直接用read_excel读取,再用to_html写入就可以了

import pandas as pd
df = pd.read_excel('<INPUT_FILE_PATH>')
df.to_html('<OUTPUT_FILE_PATH>',
           na_rep='',  # NaN用空字符串 
           render_links=True,  # 渲染超链接
           border=1,  # 单元格边框
          )

不过pandas对于格式控制并并不太依赖Excel表格中原有的格式。所以我们可以看一下xlsx2thml。

使用xlsx2html

xlsx2html是专门为了保留xlsx中格式写的一个库,所以对原有的xlsx中格式设定保留的比较好,比如合并的单元格的格式也可以比较好的支持。安装的话,直接pip就可以

pip install -U xlsx2html

然后转换也很简单,并不需要传太多的参数(sheet是可选的)

import xlsx2html
xlsx2html.xlsx2html('<INPUT_FILE_PATH>', '<OUTPUT_FILE_PATH>', sheet="<SHEET_NAME>")

xlsx2html也可以支持直接通过命令行调用

python -m xlsx2html <INPUT_FILE_PATH.xlsx> <OUTPUT_FILE_PATH.html>

当然xlsx2html的输出是这个html,如果只要table的部分的话,可以考虑再截取一下

pip install -U beautifulspoon
bspoon --select table -o <STRIPED_FILE_PATH.html > <OUTPUT_FILE_PATH.html>