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

我正在做一些testing,我想把结果输出到Excel工作表中。 这是非常简单的数据 – 只有它通过或失败:

test1 PASSED test2 FAILED 

我能够导出到一个CSV文件,如下所示:

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

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

我试着用这种格式保存文件,但是下次打开它时总是被删除。

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

谢谢。

CSV(逗号分隔值)文件格式不支持格式。 您可以使用XLSXWriter来创build支持格式的本机Excell文档。 他们的网站上有相当不错的文档。

我知道你不想使用任何外部模块,但这是我唯一的解决scheme。

祝你好运!

由于这个主要目的是为了获得结果的视觉效果,我决定把它发送到一个html文件。 与HTML,我能够以一种易于阅读的方式格式化一切。

虽然这可能不是最有效的方法,但为了每次添加一个新行,我在jython代码中创build了一个包含创build新行所需的html代码的string – 然后插入信息。 如果有人很好奇,下面是jython代码中htmlstring的样子:

  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() 

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