কম্পিউটার টিউটোরিয়াল

পাইথনে একাধিক ফাইল থেকে ডেটা পড়ে একটি মাস্টার ফাইলে লেখা

ফাইল হ্যান্ডলিং (File handling) যেকোনো ওয়েব অ্যাপ্লিকেশনের গুরুত্বপূর্ণ অংশ। পাইথনে ফাইল তৈরি, পড়া, আপডেট এবং ডিলিট করার জন্য বিভিন্ন ফাংশন আছে।

ফাইল মোড

  • "a" - Append: ফাইলের শেষে লিখে (অপেন্ড)
  • "w" - Write: ফাইলের পুরনো কন্টেন্ট ওভাররাইট (overwrite) করে লিখে

উদাহরণ: একাধিক ডেটা ফাইল থেকে মাস্টার ফাইল তৈরি


import os

# ডিরেক্টরি থেকে ফাইল লিস্ট করা
lis = os.listdir('D:\\python\\data_files\\data_files')
print(lis)

# আউটপুট ফাইল পাথ
file_dir = 'D:\\python\\data_files\\data_files'
out_file = r'D:\\python\\data_files\\target_file\\master.txt'

# পুরনো মাস্টার ফাইল থাকলে ডিলিট করে নতুন তৈরি
try:
    tgt = os.listdir('D:\\python\\data_files\\target_file')
    if len(tgt) > 0:
        os.remove('D:\\python\\data_files\\target_file\\master.txt')
    open(out_file, 'a').close()
except:
    head = open(out_file, 'a+')
    head.write('empno, ename, sal\n')
    head.close()

# প্রতিটি ফাইল পড়ে মাস্টার ফাইলে লিখা
for line1 in lis:
    f_dir = file_dir + '\\' + line1
    in_file = open(f_dir, 'r+')
    w = open(out_file, 'a+')
    d = in_file.readlines()
    w.write("\n")
    for line2 in d:
        print(line2)
        w.write(line2)
    w.close()
    in_file.close()

# প্যান্ডাস (pandas) ব্যবহার করে আরও সহজে
import pandas as pd
df1 = pd.read_csv(r'D:\python\data_files\data_files\emp_1.txt')
df2 = pd.read_csv(r'D:\python\data_files\data_files\emp_2.txt')
df3 = pd.read_csv(r'D:\python\data_files\data_files\emp_3.txt')
frames = [df1, df2, df3]
result = pd.concat(frames)
result.to_csv(r'D:\python\data_files\target_file\master.txt', encoding='utf-8', index=False)

ব্যবহারিক টিপস

  • বড় ফাইল হলে pandas ব্যবহার করা দ্রুত ও সুবিধাজনক।
  • with open(...) as f: কনটেক্সট ম্যানেজার ব্যবহার করলে ফাইল অটো ক্লোজ হয়।
  • পাথ (path) লেখার সময় raw string (r'...') বা ডাবল ব্যাকস্ল্যাশ (\\) ব্যবহার করুন।
  1. পাইথন পান্ডাস দিয়ে বিদ্যমান CSV ফাইল থেকে একাধিক CSV ফাইল তৈরি করা

  2. পাইথনে পান্ডাস ডেটাফ্রেম CSV ফাইলে লেখার পদ্ধতি

  3. পাইথনে Base64 ডেটা এনকোডিং (base64 মডিউল)

  4. পাইথনে একসাথে একাধিক ফাইল রিনেম করা