0
我的第5列有使用兩個字母標識符(CA,NY,WA ...等)的各種美國州名我怎樣才能換出每個值?說我想所有的CA爲1,紐約爲2,WA是3列中的CSV交換值
我的第5列有使用兩個字母標識符(CA,NY,WA ...等)的各種美國州名我怎樣才能換出每個值?說我想所有的CA爲1,紐約爲2,WA是3列中的CSV交換值
試試這個片斷:
require 'csv'
state_map = { CA: 1,NY: 2,WA: 3 }
converted_states = CSV.generate do |csv|
CSV.foreach('states.csv') do |line|
key = line[4].to_sym
line[4] = state_map[key] if state_map.has_key? key
csv << line
end
end
puts converted_states #instead of displaying in this place you can save data etc.
在這個片段中,我想你已經與映射嵌入散列像State: Id
該文件是一個簡單的CSV文件。我不確定你的意思是通過嵌入一個散列。 – chief
它的工作。謝謝你的幫助。 – chief
如果我正確理解你,你有一個csv文件的值。但你必須定義狀態的兩個字母標識符和一些數字ID之間的映射。上面我的意思是說你把這個映射作爲代碼中的硬編碼散列來簡化。 – WarHog