Python 3.x 合并多个txt文件并从生成的大文件中删除重复项

Python 3.x 合并多个txt文件并从生成的大文件中删除重复项,python-3.x,pandas,Python 3.x,Pandas,我一直在尝试让这一个工作,但没有成功,因为: 要合并的文件很大(每个文件高达20MB); 重复的行在单独的文件中。这就是为什么我需要从结果合并文件中删除它 现在,代码正在运行,但没有显示任何内容,它基本上合并了文件,而不是处理重复的文件 import os import io import pandas as pd merged_df = pd.DataFrame() for file in os.listdir(r"C:\Users\username\Desktop\txt"):

我一直在尝试让这一个工作,但没有成功,因为:

要合并的文件很大(每个文件高达20MB); 重复的行在单独的文件中。这就是为什么我需要从结果合并文件中删除它

现在,代码正在运行,但没有显示任何内容,它基本上合并了文件,而不是处理重复的文件

import os
import io
import pandas as pd


merged_df = pd.DataFrame()
for file in os.listdir(r"C:\Users\username\Desktop\txt"):
    if file.endswith(".txt"):
        file_path = os.path.join(r"C:\Users\username\Desktop\txt", file)
        bytes = open(file_path, 'rb').read()
        merged_df = merged_df.append(pd.read_csv(io.StringIO(
            bytes.decode('latin-1')), sep=";", parse_dates=['Data']))
        SellOutCombined = open('test.txt', 'a')
        SellOutCombined.write(merged_df.to_string())
        SellOutCombined.close()


print(len(merged_df))

非常感谢您的帮助。

出于好奇:您为什么要将文件读入内存?使用带有关键字的
编码的
read\u csv
阅读它对你有用吗?作为一个爱好者,我不知道如何以不同的方式实现它。我将研究这是如何实现的,但首先,我正试图让它完成这项工作,但目前还没有我懂了。要删除重复项,如果有帮助,可以尝试:另一个提示:检查
with
子句。因此,不如像这样打开文件:
打开(文件名为SellOutCombined:
然后在下一行
SellOutCombined.write(…
。您不需要以这种方式关闭文件,如果出现异常,它甚至会被关闭。顺便说一句,您从中读取内容的文件可能也没有正确关闭。在某些情况下,这可能会导致问题。使用确保对象在以下代码块中可用,并且它完全“解构”在块退出之后,作为程序员,您不必担心自己会这样做。