【发布时间】:2015-06-02 17:06:28
【问题描述】:
我有一个方法是通过 CSV 文件并上传到 Postgres。
CSV.foreach(path, converters: :all)
遇到“2.02E+17”等数字时,上传“2.0150519e+17”,遇到“20150515E000590”时,上传“Infinity”。
如果我设置
CSV.foreach(path)
当遇到“2.02E+17”时,它会将“20150519E000010”和“20150515E000590”上传为“20150515E000590”。
我想准确上传 Excel 中显示的内容。所以在“2.02E+17”的情况下,我想上传“2.02E+17”,但在“20150515E000590”的情况下,我想上传“20150515E000590”而不是“Infinity”。我想我的问题是如何让 CSV 不使用“Infinity”覆盖“20150515E000590”?
【问题讨论】:
-
当您可以将 CSV 直接复制到 PostgreSQL 中时,您为什么还要使用 Ruby?
-
我同意使用 Postgres 直接加载 CSV 是正确的方法,但这仍然是一个关于 CSV 库的有趣问题。
-
因为它不仅仅是我要复制的一个文件。我希望能够每天点击一个按钮,让脚本运行在今天的文件中。
标签: ruby postgresql csv double infinity