我正在尝试解析来自在Ruby应用程序中具有内容类型text / csv的api的响应。我正在使用HTTParty库发出请求。我知道文件名通常存储在Content-Disposition下的响应头中,但HTTParty似乎没有正确解析这个特定的头。
我对修复的最佳尝试如下:
csv_response = HTTParty.get('service.com/csv')
content_disposition = CGI::parse(catalog_response.headers['Content-Disposition'])
这就是我被卡住的地方,因为CGI解析返回一个散列,其中包含一个前导空格的文件名对象和文件名周围的转义引号,如:
{' filename' => '\"file.csv\"'}
我是否正确解析了响应?有没有更合理的方法来使用HTTParty访问文件名?
答案 0 :(得分:0)
您不想要文件名。您可以改用 CSV.parse。
csv_response = HTTParty.get('service.com/csv')
CSV.parse(csv_response.body, headers: true) do |row|
# do something
end
如果您的 CSV 没有标题行,请删除 headers: true
。