使用excel在ruby watir中logging结果。 如何使用put来保持不同单元格中的值
我是ruby新手,需要你的帮助。
我正在使用以下命令将我的脚本结果logging到Excel表单中。
File.open('c:\log.txt', 'w') do |file| file.puts("TEST PASSED" + "#{Time.now}") end
在这里,testing通过,时间显示在一个单元格本身。
我想在不同的单元格中显示它们。
请提出解决scheme。 提前致谢!
您正在logging到一个名为log.txt
的文件,该文件显示为纯文本文件。 如果你希望你的文件是一个excel文件,你需要一个格式,最简单的写入格式是.csv
或.tsv
,代表逗号分隔的variables和tab分隔的variables。 然后你可以用几种不同的方式写。 你可以像你一样写下:
File.open('c:\log.tsv', 'w') do |file| file.puts("TEST PASSED\t" + "#{Time.now}") end
为tsv(注意,它不需要被称为.tsv)
File.open('c:\log.csv', 'w') do |file| file.puts("TEST PASSED," + "#{Time.now}") end
为一个csv
或者你可以使用标准的csv库 。 像这样:
CSV.open("c:\log.csv", "wb") do |csv| csv << ["TEST PASSED", "#{Time.now}"] end
你可以操纵tsv的:
CSV.open("c:\log.csv", "wb", { :col_sep => "\t" }) do |csv| csv << ["TEST PASSED", "#{Time.now}"] end
最简单的解决scheme可能是将结果logging在CSV(逗号分隔值)文件中。 这些可以像文本文件一样书写,也可以通过Excel作为网格读取。
对于CSV文件,每行代表表中的一行。 在每一行中,列值(或单元格)用逗号分隔。 例如,以下内容将创build2列3列:
a1, b1, c1 a2, b2, c2
对于您的日志logging,您可以:
- 创build一个log.csv而不是log.txt
- 以逗号分隔输出值
代码将是:
File.open('c:\log.csv', 'w') do |file| file.puts("TEST PASSED, #{Time.now}") end