我正在使用ruby CSV模塊讀取csv文件。Ruby CSV輸入值格式
csv文件中的一個值格式爲XXX_XXXXX,其中X是數字。實際上,我將此值視爲字符串,但CSV模塊正在將這些值作爲XXXXXXXX讀取爲數字,而我不想要這些值。
選項我目前使用
f = CSV.read('file.csv', {:headers => true, :header_converters => :symbol, :converters => :all})
有沒有辦法告訴CSV不這樣做呢?
我正在使用ruby CSV模塊讀取csv文件。Ruby CSV輸入值格式
csv文件中的一個值格式爲XXX_XXXXX,其中X是數字。實際上,我將此值視爲字符串,但CSV模塊正在將這些值作爲XXXXXXXX讀取爲數字,而我不想要這些值。
選項我目前使用
f = CSV.read('file.csv', {:headers => true, :header_converters => :symbol, :converters => :all})
有沒有辦法告訴CSV不這樣做呢?
F = CSV.read( 'FILE.CSV',{:標題=>真,:header_converters =>:符號)}
漏下:converters => :all
; (其中包括)將所有數字字符串轉換爲數字。
的:轉換器=>各種原因導致此,請嘗試以下
require "csv"
CSV.parse(DATA, :col_sep => ",", :headers => true, :converters => :all).each do |row|
puts row["numfield"]
end
__END__
textfield,datetimefield,numfield
foo,2008-07-01 17:50:55.004688,123_45678
bar,2008-07-02 17:50:55.004688,234_56789
# gives
# 12345678
# 23456789
和
CSV.parse(DATA, :col_sep => ",", :headers => true).each do |row|
puts row["numfield"]
end
__END__
textfield,datetimefield,numfield
foo,2008-07-01 17:50:55.004688,123_45678
bar,2008-07-02 17:50:55.004688,234_56789
# gives
# 123_45678
# 234_56789
謝謝!你是對的。不幸的是,史蒂文拉格之前回答了同樣的答案......所以我選擇了他/她的答案。但是謝謝你! – 2013-03-09 00:50:11
是的,我花了更多時間記錄我的答案,對未來打這個人很有幫助,快樂編碼.. – peter 2013-03-09 01:31:10
謝謝!!那就做到了! – 2013-03-07 23:09:11