Python同步读取排序文件

标签 python file merge sorting

我有两组文件,其中包含 CSV 格式的数据和一个公共(public)键(时间戳)——我需要按时间顺序遍历所有记录。

  • A 组:“环境数据”

    • 文件名采用 A_0001.csv、A_0002.csv 等格式。
    • 预排序升序
    • Key 是时间戳,即 YYYY-MM-DD HH:MM:SS
    • 包含 CSV/列格式的环境数据
    • 非常大,数 GB 的数据
  • B 组:“事件数据”

    • 文件名格式为 B_0001.csv、B_0002.csv
    • 预排序升序
    • Key 是时间戳,即 YYYY-MM-DD HH:MM:SS
    • 包含 CSV/列格式的基于事件的数据
    • 与 A 组文件相比相对较小,< 100 MB

什么是最好的方法?

  • 预合并:使用各种方法之一将文件合并为单个排序输出,然后读取它进行处理
  • 实时合并:实现实时“合并”文件的代码

我将对事物的后处理方面进行大量迭代。有什么想法或建议吗?我正在使用 Python。

最佳答案

我认为将其导入数据库(mysql、sqlite 等)会比将其合并到脚本中提供更好的性能。数据库通常具有用于加载 csv 的优化例程,并且连接可能与在 python 中合并 2 个字典(一个非常大)一样快或快得多。

关于Python同步读取排序文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2035285/

相关文章:

python - 您可以使用 getattr 调用范围内的函数吗?

c - 在具有固定宽度列的文本文件上使用 fscanf

Git 恢复 merge 的恢复

Git - 即使没有冲突,如何强制手动 merge

java - Apache POI 合并 Word 文档中表格中的单元格

python - 如何检查python中变量的分布?

Python:创建列表列表

python - 倒花式索引

json - 使用 Golang 修改 JSON 文件

c - 文件描述符 : troubles in storing a read int value into a variable