我有一个巨大的 csv 文件,其中有一个具有大整数值的数字列。我在下面有一个示例。
0, 0, 11536375, 0, 1152921504606846976, 75962, 258238559
1, 0, 11536375, 1, 1152921504606846977, 609189, 1515555074
2, 0, 11536375, 2, 1152921504606846978, 609189, 1530344731
我正在尝试将第 1,3,5:7 列读入 R 数据框中。我决定使用 sqldf 来提高效率,因为我已经用它来读取其他数据源。问题是 sqldf 将第 5 列截断为 1.152922e+18。这更像是我需要加入另一个 DF 的索引。所以我需要确切的值。我认为 nrows 的论点在这里没有帮助。我确实需要读取一个似乎高于基本 R 可以处理的值。我认为 INT64 包可能会有所帮助,但已存档。关于如何在 sqldf 中读取大整数的任何建议?
我通过将第 5 列指定为字符串来使用扫描作为解决方法。我现在获得了全部价值,但在连接/合并中使用时效率低下。如果读取为字符串是唯一的出路,我可以在 sqldf 中实现这一点吗?sqldf 不支持“what”和“colClasses”。我怎么能提到第 5 列应该被视为字符串?