Это случай неудачных входных данных, я думаю.Сохранение пробелов при записи файла в csv
Задать файл как можно найти here, как я могу сохранить необходимые пробелы, как в ссылке? Когда я разбираю это, используя приведенный ниже код, последний ряд уплотняется, сдвигая его влево - и даты становятся сумасшедшими (февраль получает 31 день, но декабрь этого не делает).
Я знаю, что код выполняет именно то, что я ему рассказываю. Он раскалывается на белом фоне. Он должен поддерживать определенное количество строк, но поскольку нет разделительных символов, я не уверен, как спросить, что я хочу!
код выглядит следующим образом:
#!/usr/bin/env ruby
require 'open-uri'
require 'csv'
class MoonDataSeeder
def initialize(year = nil)
@year = year || Time.now.year
end
def seed
convert_to_csv
end
private
def convert_to_csv
CSV.open('test_file', 'wb', :force_quotes => true, :skip_blanks => false) do |csv|
feed_data.lines[-39..-7].each do |row|
csv << row.split
end
end
end
def feed_data
@feed_data ||= open(feed_uri).read
end
def feed_uri
host = "http://aa.usno.navy.mil/cgi-bin/aa_moonill2.pl"
host + "?form=2&year=#{year}&task=00&tz=0&tz_sign=-1"
end
def year
@year
end
end
это здорово! спасибо за ваш вклад :) – dax