Доброго времени суток)
Задача предельно проста, есть 1 большой файл в котором записаны данные, разделённые знаком '|', нужно убрать строки в которых повторяются данные.
Как пример, входной файл:
CLICK
alter|15|25|46
...
alter|19|1|28
На выходе должно получится что-то такое:
Мой вариант решения данной задачи:
CODEdomens = []
unically_data = []
def main():
with open("testdatabase.txt") as f:
data = list(map(lambda x: x.split("|"), f.read().strip().split("\n")))
for item in data:
if item[0] not in domens:
domens.append(item[0])
unically_data.append(item)
with open("_out.txt", "w") as f:
f.write("\n".join(["|".join(i) for i in unically_data]))
if __name__ == '__main__':
main()
Проблема в том, что в первоначальном файле очень много строк, около 2х миллионов. Даже если использовать библиотеку threading, особо ничего не меняется. Возможно ли как-то ускорить эту задачу ?