Guest User

Untitled

a guest
Jul 21st, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. require "csv"
  2.  
  3. init_procs = {}
  4. exec_procs = {}
  5.  
  6. init_procs['QUESTION'] = Proc.new do |record|
  7. q_no[0] = record.scan(/\d+/)[0].to_i
  8. array = []
  9. end
  10.  
  11. exec_procs['QUESTION'] = Proc.new do |record|
  12. if record =~ /\w/
  13. if array.empty?
  14. array << record
  15. else
  16. if prefix = array.last.match(/\w\.\s/)
  17. array.last == prefix[0] ? array.last << record : array << record
  18. else
  19. array << record
  20. end
  21. end
  22. end
  23. end
  24.  
  25. init_procs['Answer'] = Proc.new do |record|
  26. q_answer = record.scan(/\w+/)[1]
  27. q_text[q_no] = array.join("\n")
  28. end
  29.  
  30. exec_procs['Answer'] = Proc.new do |record|
  31. end
  32.  
  33. q_text = []
  34. q_answer = []
  35.  
  36. state = 'Answer'
  37. File.open('Venu Itil.txt', 'r') do |input|
  38. while record = input.gets
  39. new_state = record.scan(/\w+/)[0]
  40. if init_procs[new_state]
  41. state = new_state
  42. init_procs[state].call(record)
  43. else
  44. exec_procs[state].call(record)
  45. end
  46. end
  47. end
  48.  
  49. File.open('test.csv', 'w') do |output|
  50. for q_no in Range.new(1, q_answer.length - 1)
  51. output.puts CSV.generate_line([q_no, 0, 0, 3, q_answer[q_no], q_text[q_no]])
  52. end
  53. end
Add Comment
Please, Sign In to add comment