آنالیز متن

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 24, 2020

نحوه استفاده از text analyzer

این یک پروژه نمونه به زبان پایتون است، نشان دادن برنامه ای که یک فایل نمونه را تجزیه و تحلیل (text analyzer) می کند تا میزان درصد کارکتر ها در متن چه مقداری را اشغال می کند. این بخش نشان می دهد که چگونه فایل را می توان باز کرد و خواند.

filename = input("Enter a filename: ")

with open(filename) as f:
   text = f.read()

print(text)

این قسمت از برنامه یک تابع را نشان می دهد که چند بار شمارش یک کارکتر در یک رشته رخ می دهد.

def count_char(text, char):
  count = 0
  for c in text:
    if c == char:
      count += 1
  return count

این تابع به عنوان آرگومان فایل مورد نظر و یک کارکتر را دریافت می کند، و تعداد بار هایی که آن کارکتر در متن مشاهده شده است را باز می گرداند. اکنون می توانیم آن را برای پرونده ما صدا بزنیم.

filename = input("Enter a filename: ")
with open(filename) as f:
  text = f.read()

print(count_char(text, "r"))

خروجی:

>>>
Enter a filename: test.txt
83
>>>

نکته: به عنوان مثال در یک متن فرضی حرف r 83 بار مشاهده شده است. بخش بعدی برنامه متوجه می شود که هر متن از چه مقدار از حروف الفبا اشغال شده است.

for char in "abcdefghijklmnopqrstuvwxyz":
  perc = 100 * count_char(text, char) / len(text)
  print("{0} - {1}%".format(char, round(perc, 2)))

خوب حالا وقت گذاشتن همه این توابع در یک کد کلیست.

def count_char(text, char):
  count = 0
  for c in text:
    if c == char:
      count += 1
  return count

filename = input("Enter a filename: ")
with open(filename) as f:
  text = f.read()

for char in "abcdefghijklmnopqrstuvwxyz":
  perc = 100 * count_char(text, char) / len(text)
  print("{0} - {1}%".format(char, round(perc, 2)))

خروجی:

Enter a filename: test.txt
a - 4.68%
b - 4.94%
c - 2.28%
...
ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
2دیدگاه
  • kasra kianara
    7 months ago

    سلام مهندس
    میدونم بدتون میاد بهتون بگیم استاد😐
    ولی شما برای من واقعا حکم استاد رو دارین
    این آموزش ها رو هیچ جا رایگان پیدا نمیشه کرد
    من بهترین دوستام رو آوردم تو سایتتون
    واقعا ممنونم.امیدوارم هر چی میخواین بدست بیارین.بازم ممنون

    • علی بیگدلی
      7 months ago

      من استاد نیستم!🤣
      لطف داری
      سعی بر این هستش که بهتر هم بشه سایت رو داریم باز نویسی می کنیم و یسری امکانات باحال بهش اضافه کردیم