簡體   English   中英

使用excel將結果記錄在ruby watir中。 如何使用puts保持不同單元格中的值

[英]Using excel to log results in ruby watir. how to keep values in different cells using puts

我是ruby watir的新手,需要你的幫助。

我使用以下命令將我的腳本結果記錄到Excel工作表中。

File.open('c:\log.txt', 'w') do |file|
  file.puts("TEST PASSED" + "#{Time.now}")
end

這里測試通過,時間顯示在單個單元格中。

我想在不同的單元格中顯示它們。

請提出解決方案。 提前致謝!

最簡單的解決方案可能是將結果記錄在CSV(逗號分隔值)文件中。 這些可以像文本文件一樣編寫,也可以作為網格讀取。

對於CSV文件,每行代表表中的一行。 在每行中,列值(或單元格)用逗號分隔。 例如,以下將創建包含3列的2行:

a1, b1, c1
a2, b2, c2

對於您的日志記錄,您可以:

  • 創建log.csv而不是log.txt
  • 以逗號分隔輸出值

代碼是:

File.open('c:\log.csv', 'w') do |file|
  file.puts("TEST PASSED, #{Time.now}")
end

您正在登錄名為log.txt的文件,該文件似乎是純文本文件。 如果您希望您的文件是excel文件,則需要格式,最容易寫入的文件是.csv.tsv ,它代表逗號分隔變量和制表符分隔變量。 然后你可以用幾種不同的方式寫作。 你可以像以前一樣寫:

File.open('c:\log.tsv', 'w') do |file|
  file.puts("TEST PASSED\t" + "#{Time.now}")
end

對於ts​​v(請注意,它不需要被稱為.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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM