gpt4 book ai didi

java - 如何使用java更新和删除csv文件?

转载 作者:行者123 更新时间:2023-12-01 09:57:59 27 4
gpt4 key购买 nike

我有一个包含 100 000 条记录的 .CSV 文件。我需要解析一组记录,然后将其删除。然后再次解析下一组记录,直到结束。怎么做?代码片段将非常有帮助。

我尝试过,但无法删除记录并重新使用保留剩余记录集的相同 CSV 文件。

最佳答案

由于 CSV 是一种顺序文件格式,因此无法有效地完成此操作。假设你有

"some text", "adsf"
"more text", "adfgagqwe"
"even more text", "adsfasdf"
...

并且您想要删除第二行:

"some text", "adsf"
"even more text", "adsfasdf"
...

您需要上移所有后续行(在您的情况下可以是 100 000 ...),这涉及到在旧位置读取它们并将它们写入新位置。也就是说,删除 100 000 行中的第一行涉及读写 99 999 行文本,这将需要一段时间......

因此值得考虑替代方案。例如,如果您正在尝试处理一个文件,并且想要跟踪您走了多远,那么存储您所在的行号(或以字节为单位的偏移量)并保持输入文件完整会更有效。如果您的程序在删除行时崩溃,这也可以防止损坏文件。另一种方法是首先将文件拆分为许多小文件(每个小文件可能为 1000 行),完整处理每个文件,然后删除该文件。

但是,如果您确实必须从 CSV 文件中删除行,最可靠的方法是读取整个文件,将要保留的所有记录写入新文件,删除原始文件,最后重命名新文件到原始文件。

关于java - 如何使用java更新和删除csv文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37032577/

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