簡體   English   中英

Ruby Spreadsheet沒有打開遠程文件

[英]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.

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