gpt4 book ai didi

rubyzip Zip::ZipFile.open_buffer 需要一个 String 类或 IO 类的参数

转载 作者:数据小太阳 更新时间:2023-10-29 07:35:26 27 4
gpt4 key购买 nike

我正在从压缩的数据库中读取 blob 数据(文件内容为 CSV 格式)。我的变量的结果如下所示:

irb(main):144:0> my_string => "\x1F\x8B\b\x00\xCB'\xFBY\x02\xFF\xC5R\xC1n\xDB0\f\xBD\xF7+\x04\xF46\xA8\x81d\xCB\x96}\f\x92\x15\xEB\x90\xE6\xB0\x04\xD8qPd&\xD1\x12K\xAE$w\xE8\xDF\x8F\x96\x9A\xA2\x87\x01\x03r\t\r\x8B|\x92H>>\xD\x7F\xC0\xCB\b\xE1\x03\x84\xC1\xD9\x00\x19=z\xD7o\xC1\xF7\x19m]\x8Aw*\xEA\xE3z\xECwX%ze\x83\xD2\xD18\xFB\xD4\x91\x88\xC7\xC6\xE2\xC5\xB7\x01\x88V\xBEKA\x88*\x8E\x81D\xD3c\x17\xD5\x0FD\xBD\x82W\aX\x1D\xB2\xD9\xAC\xDE!VM;\xB9\xFB\xD4*\xC1\xC1\xD8\xC3<\xD7\xC8\x04R\x9B\xDE \x01\xFCU\xEFF\x8B\xD3\x98a\x9E#\x0F\xFA\x9D\xED\xCEX\xD2+M,\xC4?\xCE\x9F\xC8\xD1\x85\xB8U\x87\xE41s\f\xE0\xD1\x81\xF7\xCFAG:\xD0gc\xA1#\xC6\xBE:\xA3\x013pc\xD2\xB5#\xBF\xDD\xE8q~rV\x16\xAC\xEA\xB3\b\xDF\xDC\xB9\x03\xBF\x9E 6@\xDEOK\xA2\xB4\x8E_m\xF48\xBD;\x81\xC5f\xFB\xA5\x8A\x8A\x84\xD1\xEB\xA3\xF28\xD8\xDE\x9D\x8DCxF0B\xA0\x0F\x1E\xA9\xA1\xA4\xC1DHBbt\xB0\xA8\xB7\x87\xAC\xFD\x05\xDD\xDDc\xE30\xD5\xE1\xB3\x8A\x143.f\xDB\x15\xBA\xA2\xBAc\xF4\xF2\xA5\xA5\x9C\xFE\xA6\x94\xAC\x15\x92I)(C\xFB\xB4

现在,我想在内存中读取这些信息,解压缩并解析 csv 文件。我正在使用 ruby​​zip 并尝试了以下操作:

Zip::File.open_buffer(my_string) do |zip|
zip.each do |entry|
decompressed_data += entry.get_input_stream.read
end
end

RuntimeError: Zip::ZipFile.open_buffer expects an argument of class String or IO. Found: String from (irb):224

有没有办法检索 zip 文件的内容?

最佳答案

我认为这里的主要问题是错误消息有点误导......

它应该说预期的文件名或 io。

在您的代码中,您需要将内容包装在 StringIO 对象中,以便将其视为流。

由于 open_buffer 已弃用,您应该使用 open

所以它看起来像open(StringIO.new(my_string)

关于rubyzip Zip::ZipFile.open_buffer 需要一个 String 类或 IO 类的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47437265/

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