我有两个csv文件存储一个id和一些我需要匹配的相关字段。目前,在Python 2.4中,我使用字典键作为记录ID将csv文件加载到记录对象的字典中。然后我通过一个循环并匹配另一个中的键并做一些处理。在非常大的文件中引用CSV记录
这一切都很好,效果很好,但这是相对较小的csv文件,大约有60,000条记录。我将很快需要处理数百万条记录和可能的多个csv文件。我担心使用当前方法的内存负载。
我最初考虑的是csv阅读器中的一个简单循环,并且根本不打算将它们加载到内存中,但是当为其他文件中的数百万记录中的每一百万记录循环时,效率低下的东西。
那么,有没有这样做的好方法?我卡在Python 2.4,我不能真正改变从CSV文件,我想避免使用SQL,如果可能的话。谢谢
编辑:作为一个球场的数字,我正在查看多达20个200MB文件。
最好的方法可以很好地依赖于文件的数量和每个文件的大小。你能把一些球场号码给这些参数吗? – NPE
这会很方便添加,对不起。我会说每个文件最多200MB,最多20个文件。这有点偏高,但我宁愿安全,也不要抱歉。我会更新主帖。 – Captastic
我不确定这是否有助于数据的大小,但我会创建一个CSV导入实用程序,然后将数据存储在SQLite数据库文件中。您甚至可以拥有一个列出文件导入路径和数据以备将来参考的表格。索引编制可能比试图将整个内容保存在内存中或重写csv文件更有效。 –