用于CSV :: open#<<的Ruby未定义方法`map'(NoMethodError)

用于CSV :: open#<<的Ruby未定义方法`map'(NoMethodError),第1张

概述这有效但由于某种原因,逗号丢失了.数据插入为 GAURISH SHARMA976969975PASS 将每个值写在新行中.我想知道逗号在哪里?或者那些必须手动插入? 我正在尝试使用以下代码编写哈希值 CSV.open("resultdata.csv", "a") do |csv| h.each do |key, value| csv << value enden 这有效但由于某种原因,逗号丢失了.数据插入为

GAURISH SHARMA976969975PASS

将每个值写在新行中.我想知道逗号在哪里?或者那些必须手动插入?

我正在尝试使用以下代码编写哈希值

CSV.open("resultdata.csv","a") do |csv|      h.each do |key,value|    csv << value  endend

这是h哈希的内容

{:name=>"GAURISH SHARMA",:ca=>"97",:cb=>"69",:ba_lab=>"69",:bb_lab=>"69",:grand_total=>"975",:result=>"PASS"}

此代码看起来正确,但在运行此代码时,会生成以下错误:

/home/gaurish/.rvm/rubIEs/ruby-1.9.3-p194/lib/ruby/1.9.1/csv.rb:1729:in `<<': undefined method `map' for "GAURISH SHARMA":String (NoMethodError)    from /home/gaurish/DropBox/code/projects/ra/result.rb:35:in `block (2 levels) in <main>'    from /home/gaurish/DropBox/code/projects/ra/result.rb:34:in `each'    from /home/gaurish/DropBox/code/projects/ra/result.rb:34:in `block in <main>'    from /home/gaurish/.rvm/rubIEs/ruby-1.9.3-p194/lib/ruby/1.9.1/csv.rb:1354:in `open'    from /home/gaurish/DropBox/code/projects/ra/result.rb:33:in `<main>'

知道这里有什么问题吗?

解决方法 当你做csv<< value,您正在将字符串写入文件.
CSV库可以将数组写入文件(以某种形式).从散列中获取包含所有值的数组的最佳方法是使用值方法btw.所以:

require 'csv'h = {:name=>"GAURISH SHARMA",:result=>"PASS"}CSV.open("resultdata.csv","a") do |csv|      csv << h.valuesend

resultdata.csv看起来像

GAURISH SHARMA,97,69,975,PASS
总结

以上是内存溢出为你收集整理的用于CSV :: open#<<的Ruby未定义方法`map'(NoMethodError)全部内容,希望文章能够帮你解决用于CSV :: open#<<的Ruby未定义方法`map'(NoMethodError)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1262585.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存