我正在使用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