ভূমিকা
স্ট্রাকচার্ড স্ট্রিং থেকে প্রয়োজনীয় ডেটা/ফিল্ড এক্সট্র্যাক্ট করার দুটি মেথড দেখাব। এই পদ্ধতিগুলো তখন কাজে আসে যখন ইনপুট স্ট্রাকচার 아는 ফরম্যাটে থাকে।
পদ্ধতি ১: split() ব্যবহার করে
- একটি ডামি ফরম্যাট তৈরি করি:
Report: <> - Time: <> - Player: <> - Titles: - Country: <> Report: Daily_Report - Time: 2020-10-16T01:01:01.000001 - Player: Federer - Titles: 20 - Country: Switzerland - সেপারেটর "
-" দিয়ে স্প্লিট করুন:report = 'Report: Daily_Report - Time: 2020-10-10T12:30:59.000000 - Player: Federer - Titles: 20 - Country: Switzerland' fields = report.split(' - ') name, time, player, titles, _ = fields print(f"Output \n *** The report name {name} generated on {time} has {titles} titles for {player}. ") - আউটপুটে লেবেলগুলো (Report:, Time:, Player:) রয়েছে। এগুলো সরাতে প্রতিটি ফিল্ডকে আবার "
:" দিয়ে স্প্লিট করুন:
আউটপুট:formatted_name = name.split(':')[1] formatted_player = player.split(':')[1] formatted_titles = int(titles.split(':')[1]) new_time = time.split(': ')[1] print(f"Output \n {formatted_name} , {new_time}, {formatted_player} , {formatted_titles}")Daily_Report , 2020-10-10T12:30:59.000000, Federer , 20 - টাইমস্ট্যাম্প ISO ফরম্যাটে। চাইলে datetime দিয়ে পার্স করুন:
from datetime import datetime formatted_date = datetime.fromisoformat(new_time) print(formatted_date) # 2020-10-10 12:30:59 - সব স্টেপ এক ফাংশনে একত্রিত করুন।
পদ্ধতি ২: parse মডিউল ব্যবহার করে (সহজতর)
pip install parseদিয়ে ইনস্টল করুন।- টেমপ্লেট ডিফাইন করে parse করুন:
from parse import parse report = 'Report: Daily_Report - Time: 2020-10-10T12:30:59.000000 - Player: Federer - Titles: 20 - Country: Switzerland' template = 'Report: {name} - Time: {time} - Player: {player} - Titles: {titles} - Country: {country}' data = parse(template, report) print(data) # - ইনডিভিজুয়াল ভ্যালু এক্সেস করুন:
আউটপুট:print(f"{data['name']} - {data['time']} - {data['player']} - {data['titles']} - {data['country']}")Daily_Report - 2020-10-10T12:30:59.000000 - Federer - 20 - Switzerland
উপসংহার
লগ ফাইল থেকে প্রয়োজনীয় ডেটা পার্স করার দুটি পদ্ধতি দেখানো হয়েছে। টেমপ্লেট ডিফাইন করে parse মডিউল ব্যবহার করা সহজ ও পঠনযোগ্য।