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

পাইথনে মিডিয়া ফাইল স্ক্রেপ করার পদ্ধতি

ভূমিকা

বাস্তব কর্পোরেট পরিবেশে অধিকাংশ ডেটা টেক্সট বা এক্সেল ফাইলে থাকে না। SQL-ভিত্তিক রিলেশনাল ডাটাবেস (Oracle, SQL Server, PostgreSQL, MySQL) ব্যাপকভাবে ব্যবহৃত হয়। ডেটাবেস চয়ন সাধারণত অ্যাপ্লিকেশনের পারফরম্যান্স, ডেটা ইন্টিগ্রিটি এবং স্কেলেবিলিটির ওপর নির্ভর করে।

কীভাবে করবেন

এখানে আমরা দেখব কীভাবে SQLite3 ডাটাবেস তৈরি করব। SQLite পাইথনের সাথে ডিফল্ট ইনস্টল থাকে, আলাদা ইনস্টলেশন লাগে না। আমরা Pandas ও ইম্পোর্ট করব।

SQL থেকে DataFrame-এ ডেটা লোড করা খুব সহজ, Pandas-এর কিছু ফাংশন এটি সরল করে দেয়।

১. SQLite ভার্সন চেক

import sqlite3
import pandas as pd
print(f"Output \n {sqlite3.version}")

আউটপুট

2.6.0

২. ডাটাবেস কানেকশন এবং ডেটা তৈরি

# কানেকশন অবজেক্ট
conn = sqlite3.connect("example.db")

# কাস্টমার ডেটা
customers = pd.DataFrame({
    "customerID": ["a1", "b1", "c1", "d1"],
    "firstName": ["Person1", "Person2", "Person3", "Person4"],
    "state": ["VIC", "NSW", "QLD", "WA"]
})
print(f"Output \n *** Customers info -\n {customers}")

# অর্ডার ডেটা
orders = pd.DataFrame({
    "customerID": ["a1", "a1", "a1", "d1", "c1", "c1"],
    "productName": ["road bike", "mountain bike", "helmet", "gloves", "road bike", "glasses"]
})
print(f"Output \n *** orders info -\n {orders}")

৩. ডেটাবেসে লেখা

customers.to_sql("customers", con=conn, if_exists="replace", index=False)
orders.to_sql("orders", conn, if_exists="replace", index=False)

৪. SQL কুয়েরি ফ্রেম করা

q = """
select orders.customerID, customers.firstName, count(*) as productQuantity
from orders
left join customers on orders.customerID = customers.customerID
group by customers.firstName;
"""

৫. SQL রান করুন

pd.read_sql_query(q, con=conn)

৬. সম্পূর্ণ কোড একসাথে

import sqlite3
import pandas as pd
print(f"Output \n {sqlite3.version}")

conn = sqlite3.connect("example.db")

customers = pd.DataFrame({
    "customerID": ["a1", "b1", "c1", "d1"],
    "firstName": ["Person1", "Person2", "Person3", "Person4"],
    "state": ["VIC", "NSW", "QLD", "WA"]
})
print(f"*** Customers info -\n {customers}")

orders = pd.DataFrame({
    "customerID": ["a1", "a1", "a1", "d1", "c1", "c1"],
    "productName": ["road bike", "mountain bike", "helmet", "gloves", "road bike", "glasses"]
})
print(f"*** orders info -\n {orders}")

customers.to_sql("customers", con=conn, if_exists="replace", index=False)
orders.to_sql("orders", conn, if_exists="replace", index=False)

q = """
select orders.customerID, customers.firstName, count(*) as productQuantity
from orders
left join customers on orders.customerID = customers.customerID
group by customers.firstName;
"""

pd.read_sql_query(q, con=conn)

আউটপুট

2.6.0
*** Customers info -
  customerID firstName state
0 a1 Person1 VIC
1 b1 Person2 NSW
2 c1 Person3 QLD
3 d1 Person4 WA
*** orders info -
  customerID productName
0 a1 road bike
1 a1 mountain bike
2 a1 helmet
3 d1 gloves
4 c1 road bike
5 c1 glasses
customerID firstName productQuantity
0 a1 Person1 3
1 c1 Person3 2
2 d1 Person4 1
  1. পাইথন: ফোল্ডারের সব এক্সেল ফাইল একসাথে মার্জ করা

  2. পাইথনে PDF ফাইল ক্র্যাক (পাসওয়ার্ড খোলা) করা

  3. পাইথনে পাওয়ারপয়েন্ট ফাইল তৈরি করা

  4. পাইথনে ইনস্টল করা মডিউল ডিলিট করা