最近,我需要每天写报告,汇报系统的运行情况。其实就是从一个很大的系统里面去拿各种表格,csv格式,然后汇总,以邮件的形式发出来。我查了一些资料,发现用pandas+lxml生成html,然后再复制到邮件里是比较好的一种方案。
Pandas是python常用的处理数据的库,可以读取csv,转换成各种格式,比如html。
lxml是python常用的处理XML的库,也处理HTML,因为HTML基本上就是XML。
我需要所有的表格在一个文件里面显示,然后我直接复制一下就行了。这时,我想到了把csv转成HTML格式的表格,然后把几张HTML表格放到一个HTML文件里。csv转html,我选择pandas。而整合这些html表格,我用lxml。
首先,我们用lxml新建一个html对象,这个对象的类型是lxml的Element。我们把html对象里面的body取出来,因为表格会添加到body中。
from io import StringIO
import pandas as pd
from lxml import etree
html_str =