gpt4 book ai didi

java - 填充需要 1000 个其他文件中的值的文件 - Java

转载 作者:行者123 更新时间:2023-12-02 03:59:39 25 4
gpt4 key购买 nike

假设您有这个 .csv,我们将其命名为“toComplete”:

[Date,stock1, stock2, ...., stockn]
[30-jun-2015,"NA", "NA", ...., "NA"]
....
[30-Jun-1994,"NA","NA",....,"NA"]

n = 1000,行数 = 5000。每行代表不同的日期。这是一个很大的文件,我不太习惯。我的目标是用我将带入其他 .csv 的值填充“NA”。事实上,我为每只股票都有 1 个文件(仍然是 .csv)。这意味着我有 1000 个库存文件和“toComplete”文件。

以下是文件库存:

[Date, value1, value2]
[27-Jun-2015, v1, v2]
....
[14-Fev-2013,z1,z2]

每个股票文件中的日期少于“toComplete”文件中的日期,并且股票文件中的每个日期都必然位于“toComplete”文件中。

我的问题是:填写我的文件“toComplete”的最佳方式是什么?我尝试逐行阅读它,但这非常慢。我一直在逐行阅读“toComplete”,每一行我都在阅读 1000 只股票的文件以完成我的文件“toComplete”。我认为有更好的解决方案,但我看不到它们。

编辑:例如,要替换“toComplete”中第二行第二列中的“NA”,我需要调用我的文件stock1,逐行读取它以找到与“toCompelte”中第二行日期相对应的value1中的值”。我希望它现在更有意义。

编辑2:日期已编辑。对于很多股票,我不会有值(value)。在此示例中,我们只有从 2013 年 2 月 14 日到 2015 年 6 月 27 日的日期,这意味着末尾会保留一些“NA”(但这不是问题)。我知道要搜索哪些文件,因为我的文件名为 stock1.csv、stock2.csv...我将它们放在一个唯一的目录中,这样我就可以使用 .list() 方法。

最佳答案

因此,对于某些股票,您有 1000 个“价格历史记录”CSV 文件,每个文件最多包含 5000 天的价格历史记录,并且您希望将这些文件中的数据合并到一个 CSV 文件中,其中每一行以日期开头,其余行以日期开头行中的条目是该历史日期最多 1000 种不同的股票价格? - 餐巾纸背面计算表明最终文件可能包含少于 1 MB 的数据(每个股票价格少于 20 字节意味着每行少于 20kb * 5k 行)。 256/512MB JVM 中应该有足够的 RAM 来将您想要从这 1000 个文件中保留的数据读取到一个 Map 中,其中键是日期,每个键的值是另一个包含 1000 个股票代码键和 1000 个股票的 Map值(value)观。然后通过迭代映射写出最终文件。

关于java - 填充需要 1000 个其他文件中的值的文件 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35074375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com