我有一個大的csv。我想刪除文件的第一行。這是如何完成的?我不想將每行都複製到一個數組中,並將它們重寫爲先前的索引並刪除第一個。一定會有更好的辦法。 (可能用更快的速度?如何?)如何使用Ruby刪除一行csv文件?
回答
喜歡的東西:
source=File::open("source","r")
dest=File::open("dest","w")
source.each_line do |line|
next if f.lineno == 1
dest.write(line)
end
source.close
dest.close
錯誤,整個源文件被讀入內存提問者想避免。 – 2012-02-16 12:21:40
我的不好,我太快讀了這個問題。這是一個修改後的版本,按行 – 2012-02-16 13:07:56
逐行讀取文件。您沒有關閉文件句柄。明確關閉它們或使用「File.open」的塊形式。 – 2012-02-16 14:14:32
將文件複製到另一個文件,省略了要刪除的行。您不必將文件加載到數組中,只需在同一個循環內逐行讀寫即可。
如果你不介意炮擊了一個命令行,這是特別有效:
system("tail -n +2 #{input} > #{output}")
你的意思是這樣嗎?
source_path = 'liner.txt'
open source_path do |input|
input.gets
open "#{source_path}.header_removed", 'w' do |output|
input.each do |line|
output << line
end
end
end
但是,這個代碼需要CSV
- 1. 如何使用Super CSV從CSV文件中刪除一行?
- 2. 使用Ruby從CSV文件中刪除一行
- 3. 如何使用Java從Excel(csv)文件中刪除一行?
- 4. 如何在ruby中刪除csv文件中的整行1.9.2
- 5. AWK使用文件,刪除CSV行
- 6. 如何刪除CSV文件中的第一行(coloumn頭文件)?
- 7. 如何使用Ruby從CSV中刪除行
- 8. 刪除csv文件中的一行
- 9. 如何使用PHP從CSV文件中刪除前100行
- 10. 用CSV刪除一行?
- 11. 用CSV文件刪除Python中的行
- 12. 使用Octave/Matlab從csv文件中刪除一行
- 13. 用ruby刪除前兩行文件
- 14. 如何從datalake store上的csv文件中刪除一行而不使用usql?
- 15. 我如何從csv文件中刪除一行後,我使用python和numpy
- 16. 如何刪除Ruby中的最後一行文件?
- 17. 使用Python刪除列CSV文件
- 18. 使用Python刪除或刪除CSV文件中的最後一列使用Python
- 19. 火花如何刪除在CSV文件
- 20. 如何使用ruby在csv中刪除特定列1.9.2
- 21. 如何使用Ruby刪除部分CSV字符串?
- 22. 使用PHP有條件地從CSV文件中刪除行
- 23. 如何使用python刪除文本文件的一行
- 24. 如何使用PHP從文本文件中刪除一些行?
- 25. 如何使用Java在Excel(csv)工作表中刪除一行?
- 26. 刪除每個文件的第一行後合併CSV文件
- 27. 刪除CSV文件中的行
- 28. 從更新csv文件中刪除行
- 29. 刪除CSV文件中的重複行
- 30. 從CSV文件中刪除行
不是一個Rails的具體問題,簡單的格式。 – 2012-02-16 12:03:01