حذف کلمات تکراری فایل با پایتون
تصور کنید یک فایل متنی با پسوندهای رایج مثل txt داشته باشید و در هر خط آن یک کلمه باشد و این فایل دارای خط های زیادی از متن باشد و شما نیاز دارید کلمات تکراری را در این فایل حذف کنید؛ اینجاست که به صورت معقول امکان حذف کلمات تکراری به صورت دستی نیست و البته می توانید اینکار را انجام دهید ولی کمی زمانبر است.
وقتی زبان های برنامه بنویسی به میان آمدند و کامپیوترها به زندگی ما ورود کردند قرار است کارهای ما را ساده تر کنند نه اینکه کارهای ساده را پیچیده تر کنند.
در این نوشته به بررسی نحوه ی حذف کلمات تکراری در یک فایلمتنی با کمک زبان برنامه نویسی پایتون می پردازیم.
همراه ما باشید.
حذف کلمات تکراری فایل با پایتون
برای اینکار از تکه برنامه ی زیر استفاده کنید تا به سادگی امکان حذف این کلمات تکراری را داشته باشید:
کد پایتون::
fname = "input.txt" fhand = open(fname) AllWords = list() ResultList = list() for line in fhand: line.rstrip() words = line.split() AllWords.extend(words) AllWords.sort() for word in AllWords: if word not in ResultList: ResultList.append(word) with open('output.txt', 'w') as filehandle: for listitem in ResultList: filehandle.write('%s\n' % listitem) print(ResultList)
در کد بالا ابتدا متن ها از یک فایل ورودی با نام input.txt خوانده می شود در یک حلقه تمام کلمات بررسی می شود و کلمات تکراری حذف شده و یک لیست یا آرایه از کلمات unique یا یکتا باقی می ماند که در فایل output.txt می نویسد.
حذف جملات تکراری در فایل با کمک پایتون
اگر نیاز به حذف جملات تکراری دارید نیز می توانید از کد زیر استفاده کنید:
lines_seen = set() # holds lines already seen with open("output.txt", "w") as output_file: for each_line in open("input.txt", "r"): if each_line not in lines_seen: # check if line is not duplicate output_file.write(each_line) lines_seen.add(each_line)
اگر روش های بهتری برای انجام اینکار در اختیار دارید در بخش نظرات همین نوشته آن را برای ما بنویسید تا با دیگران به اشتراک بگذاریم.
موفق و پایدار باشید.
مورد دومی رو نتونستم وارد کنم برای اینکه اون دنبال فایلی به همین نام میگرده درحالیکه چنین فایل در سیستمم موجود نیست من فقط برای وارد کردن حروف و حذف کپی کلمه بودم
باید نام فایل اول شما input.txt باشد و یک فایل خالی output.txt داشته باشید