使用Jython导出到格式化的Excel文件

用户名

我正在做一些测试,我希望将结果输出到Excel工作表中。这是非常简单的数据-仅是通过还是失败:

test1   PASSED
test2   FAILED

我能够像这样导出到一个csv文件中:

f = open('TestResults.csv', 'a')
f.write(test + "," + status)
f.close()

这将创建一个两列的表,第一列是测试名称,第二列是其通过还是失败(状态)。但是,我想格式化输出,以使带有“ PASSED”的行变成绿色,而带有“ FAILED”的行变成红色。我认为.csv文件不能包含这样的格式,因此它可能需要以某种方式进行转换。

我尝试使用该格式保存文件,但是下次打开该文件时,总是将其删除。

如果可能的话,我宁愿不下载外部模块就这样做。

谢谢。

用户名

由于这样做的主要目的是可视化结果,因此我决定将其发送到html文件。使用html,我能够以易于阅读的方式格式化所有内容。

尽管这可能不是最有效的方法,但是为了每次添加新行,我都在我的jython代码中创建了一个字符串,其中包含创建新行所需的html代码-然后插入了信息。如果有人好奇,这是html字符串在jython代码中的外观:

    pageTemplate = "<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>" \
    "<html>" \
    "<head>" \
    "<style type='text/css'>" \
    "p {margin: 0em 0 0em 0}" \
    "</style>" \
    "<meta content='text/html; charset=ISO-8859-1'" \
    "http-equiv='content-type'>" \
    "<title>LogFile</title>" \
    "</head>" \
    "<body>" \
    "<p><a href='%s.%s.png'>%s</a>%s%s</p>" \
    "</body>" \
    "</html>"

    #color codes the status
    if status == "PASSED":
        status_colored = "<font color='green'>PASSED</font>"
    else:
        status_colored = "<font color='red'>FAILED</font>"

    rest = self.delim + test + self.delim + comment + "\n"
    dir = os.path.join(self.path,stamp)

    #save new information to the logfile
    contents = pageTemplate % (dir, status, stamp, self.delim + status_colored, rest)
    logfile = open(self.csvpath, 'a')
    logfile.write(contents)
    logfile.close()

缺少的信息在代码的其他地方声明。而且,标头不是通过Jython代码硬编码到html文件本身中的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章