亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 10415 | 回復(fù): 10
打印 上一主題 下一主題

關(guān)于 CSV.open 的用法 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-12-17 14:40 |只看該作者 |倒序瀏覽
本帖最后由 zhn158 于 2010-12-17 15:07 編輯

最近在看《Beginning Ruby From Novice to Professional》, 249頁 有一個使用CSV庫處理文件的例子

文本文件 test.txt
  1. Fred Bloggs,Manager,Male,45
  2. Laura Smith,Cook,Female,23
  3. Debbie Watts,Professor,Female,38
復(fù)制代碼
Ruby 代碼:
  1. #!/usr/bin/ruby
  2. require 'csv'

  3. CSV.open('test.txt','r') do |person|
  4.   puts person.inspect
  5. end
復(fù)制代碼
按照書中的示例,代碼應(yīng)該打印三個數(shù)組,
  1. ["Fred Bloggs", "Manager", "Male", "45"]
  2. ["Laura Smith", "Cook", "Female", "23"]
  3. ["Debbie Watts", "Professor", "Female", "38"]
復(fù)制代碼
但實際的運行結(jié)果如下:

輸出:
  1. <#CSV io_type:File io_path:"test.txt" encoding:GBK lineno:0 col_sep:"," row_sep:"\r\n" quote_char:"\"">
復(fù)制代碼
請高手指點哪兒出了問題?

論壇徽章:
0
2 [報告]
發(fā)表于 2010-12-17 18:12 |只看該作者
比較冷清呀,自己頂一下

論壇徽章:
0
3 [報告]
發(fā)表于 2010-12-17 19:21 |只看該作者
解釋器版本問題,你用的是 1.9 的,例子用的是 1.8 的。

  1. $ ruby csv_example.rb
  2. <#CSV io_type:File io_path:"test.txt" encoding:UTF-8 lineno:0 col_sep:"," row_sep:"\n" quote_char:"\"">

  3. $ ruby1.8 csv_example.rb
  4. ["Fred Bloggs", "Manager", "Male", "45"]
  5. ["Laura Smith", "Cook", "Female", "23"]
  6. ["Debbie Watts", "Professor", "Female", "38"]
復(fù)制代碼

論壇徽章:
0
4 [報告]
發(fā)表于 2010-12-17 22:29 |只看該作者
多謝 Sapien
兩個版本變化太大了

論壇徽章:
0
5 [報告]
發(fā)表于 2010-12-17 22:37 |只看該作者
Sapien,今天貢獻很大啊,贊一個,今天白天俺不在呢,呵呵。

論壇徽章:
0
6 [報告]
發(fā)表于 2010-12-18 01:08 |只看該作者
回復(fù) 4# zhn158


    別客氣,我也剛學(xué)不久。解決問題是一種很好的學(xué)習(xí)方式,應(yīng)該鼓勵大家多提問題。

論壇徽章:
0
7 [報告]
發(fā)表于 2010-12-18 01:12 |只看該作者
相比 1.8,1.9 添加了一些功能(比如對多字節(jié)字符的支持),還有很多細節(jié)的更改,使風(fēng)格更統(tǒng)一了。所以我還是很期待 1.9 的普及的 ~~

論壇徽章:
0
8 [報告]
發(fā)表于 2010-12-18 19:31 |只看該作者
回復(fù) 7# Sapien


    1.9,應(yīng)該說,目前普及的形式不錯,已逐漸形成了主流Ruby版本。

論壇徽章:
0
9 [報告]
發(fā)表于 2014-12-30 09:47 |只看該作者
翻出老帖子了

我今天看這書,也是這問題,API變了,
CSV.open('text.txt', 'r') do |csv|
        csv.each do |row|
                puts row.inspect
        end
end

論壇徽章:
15
2015年辭舊歲徽章
日期:2015-03-03 16:54:15雙魚座
日期:2015-01-15 17:29:44午馬
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉雞
日期:2014-04-02 12:24:51雙子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥豬
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
10 [報告]
發(fā)表于 2015-01-15 17:59 |只看該作者
netphp 發(fā)表于 2014-12-30 09:47
翻出老帖子了

我今天看這書,也是這問題,API變了,


直接用each就可以了
  1. CSV.open('text.txt', 'r').each do |csv|
  2.    puts csv.inspect
  3. end
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP