我有一个excel文件,我必须遍历每一行,总是得到列,比如2,3,然后在另一个owl文件中找到相应的实体(我从excel文件每一行的第2列得到)并填充它,然后对excel文件的所有行重复整个任务。由于这两个文件都很大,所以采用的方法很简单:遍历excel文件的每一行,然后遍历owl文件的每一个实体,找到正确的实体,然后填充将花费大量时间
有没有其他方法我应该尝试,它具有较低的复杂性
非常感谢您的帮助
附言:我是一名计算机科学专业的学生,在以前的扫描电镜中做过DSA。我现在意识到了algos运行时的实际重要性
对于使用excel工作表,我使用openpyxl,尽管没有必要的信息
根据“big”的不同,您可以通过将其中一个文件(只存储您需要的部分)存储在RAM中,而不是只迭代另一个文件一次来减少文件IO的巨大开销
Komplexity保持O(n*m)
您可以通过将保存在RAM中的文件的数据存储在HashMap中来降低复杂性(如果仍然需要的话),HashMap的访问复杂性为O(1)(在大多数情况下)
Komplexity是O(m)其中m是未保存在HashMap中的文件的大小(在RAM中)
如果“big”意味着即使是较小文件中的数据也不能放入RAM中,那么您可以使用相同的方法,只需将数据分块放入RAM中即可
相关问题 更多 >
编程相关推荐