gpt4 book ai didi

ruby-on-rails - 打开包含要在 rake 任务中使用的 csv 文件的 zip 文件

转载 作者:太空宇宙 更新时间:2023-11-03 18:10:41 26 4
gpt4 key购买 nike

我有一个看起来像这样的 rake 任务

require 'open-uri'
require 'csv'
namespace :Table do
task reload: :environment do
ActiveRecord::Base.connection.execute("TRUNCATE Table RESTART IDENTITY")
csv_text = open('URL')
csv = CSV.parse(csv_text, :headers=>true)
csv.each do |row|
Table.create(table columns)
end
end
end

现在我可以让文件以 gzip 或 zip 格式返回。它必须被压缩,但是 csv 是 zip 文件中的唯一文件。

有什么办法可以打开 zip 文件中的 csv 文件吗?

感谢帮助

山姆

最佳答案

Ruby 核心包括 Zlib 支持。如果你有一个指向压缩文件的 URL,你可以使用 Zlib::GzipReader膨胀 open 返回的 Tempfile

gzipped = open('URL')
csv_text = Zlib::GzipReader.new(gzipped).read
csv = CSV.parse(csv_text, :headers=>true)

关于ruby-on-rails - 打开包含要在 rake 任务中使用的 csv 文件的 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34815359/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com