[英]Ruby Spreadsheet not opening remote file
我正在嘗試使用Ruby Spreadsheet gem打開遠程存儲的電子表格。 我的代碼如下
require 'spreadsheet'
require 'open-uri'
book = Spreadsheet.open(url)
它給我一個錯誤的Errno :: ENOENT:沒有這樣的文件或目錄
通過將URL放入瀏覽器,它下載得很好,所以我知道網址很好。 我有一些非常相似的代碼使用FasterCSV工作得很好,所以如果這是一個Spreadsheet的問題,或者我做錯了什么,徘徊。
您沒有使用open-uri
,它將獲取URL並將其作為StringIO
對象公開(在大多數情況下,它的工作方式類似於IO
對象)。 如果您這樣做, Spreadsheet
類可能會起作用:
book = Spreadsheet.open(open(url))
第二個open
來自OpenURI
,它將StringIO
對象發送到Spreadsheet.open
。
從我所知的來源,在https://github.com/zdavatz/spreadsheet/blob/master/lib/spreadsheet.rb ,您需要在打開它之前下載該文件。 Spreadsheet類上的open方法需要IO對象或磁盤上的物理路徑:
def open io_or_path, mode="rb+" ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.