2012-11-26 36 views
-1

我正在處理與文件相關的任務..我有一個CSV文件,有一些行和標頭..我需要獲取具有特定標題的列,並在最後創建一個新列,並做一些操作..如何獲取具有特定標題值的列值,以及如何在最後創建新列?Ruby csv文件相關操作

+1

不就使用'[]'通過頭部進行列訪問? – halfelf

回答

1

假設您有以下格式的CSV

郵編網絡ID網絡名稱區域新網絡?顯示名稱 64024 275堪薩斯城2否堪薩斯城 64034 275堪薩斯城2否堪薩斯城

您可以用戶FasterCSV; 如果你在你的CSV頭,那麼你可以指定它headers => true你可以做的是下面給出

FasterCSV.foreach(path_to_file, { :headers => true, :row_sep => :auto }) do |row| 

每次迭代,你會得到從排的CSV時間,按行用FasterCSV獲取來自行數據CSV文件,現在你已經知道,第2列有「NETWORK_ID」標題和列3有「網名」頭,所以你可以很容易地給network_id = row[2]network_name = row[3]

希望它會回答你的問題

0

CSV中的第一條記錄可以被視爲標頭記錄。沒有規定,這是必然的。

來到你的問題。簡而言之,您必須編寫邏輯(使用API​​或不使用它)來獲取您認爲是「標題」的內容。

我需要獲取特別標題列,並創建在末尾的新列,並完成一些操作

我不認爲會API提供任何隱含的機制來獲取特定的頭。 AFAIK CSV沒有規範。您可以使用類似API的FasterCSV解析CSV以完成工作。

+0

我正在使用FasterCSV,但不知道如何獲取特定的列數據...你能指導我嗎? –