我必须执行的一项常见任务是对两个文本文件执行类似 SQL 的 JOIN。即,使用在它们之间共享的标识符列上的某种联接,从“左手”和“右手”文件创建一个新文件。有时需要诸如外连接等变化。
当然,我可以编写一个简单的脚本来以通用方式执行此操作,但是是否有一个 python 模块(内置或可安装)可以执行此操作?可以处理大文件的东西将是理想的。
EDIT:
- 我知道 PyTables,但这是平面文本文件最简单的解决方案吗?
- 我所说的“巨大文件”是指有时“左手”文件太大而无法存储在内存中
- (到目前为止)缺少 python 答案让我担心。我是否使用了错误的工具/范式?我要求使用 python 库的原因是为了允许在每行上轻松添加其他转换(验证标识符等)。
[疯狂的想法]
这些文件是否适合您的系统内存并保留足够的空间?在这种情况下,您可以使用 SQLite 将它们加载到表中,然后使用适当的 SQL 将它们连接到您想要的内容中。
[/疯狂的想法]
Update
刮擦它。 OP 表示其中一个文件太大,无法存储在内存中。。看到这个answer https://stackoverflow.com/questions/3626619/sql-like-join-on-two-text-files-in-python-is-there-a-built-in-way/3627098#3627098 by @戴夫·柯比 https://stackoverflow.com/users/206417/dave-kirby。 SQLite 可以与磁盘数据库一起使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)