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

Python-এ HTML টেবিলের ডেটা CSV-এ কীভাবে সংরক্ষণ করবেন?

ওয়েব থেকে ডেটা কালেকশন ডেটা সায়েন্সের চ্যালেঞ্জিং অংশ। ওয়েবে প্রচুর ডেটা রয়েছে, শুধু অটোমেশন দিয়ে এক্সট্র্যাক্ট করা দরকার। একাধিক HTML টেবিল থাকলে কপি-পেস্ট করা কষ্টসাধ্য। Python-এ `BeautifulSoup` এবং `csv` মডিউল ব্যবহার করে এটি অটোমেট করা যায়।

১. CSV ফাইল তৈরি করা (বেসিক)

import csv

# রাইট মোডে ফাইল খোলা (নেই তবে তৈরি হবে)
File = open('test.csv', 'w+', newline='')
Data = csv.writer(File)

# হেডার লিখা
Data.writerow(('Column1', 'Column2', 'Column3'))

# ডেটা লিখা
for i in range(20):
    Data.writerow((i, i+1, i+2))

# ফাইল বন্ধ
File.close()

আউটপুট: `test.csv` ফাইল তৈরি হবে।

Python-এ HTML টেবিলের ডেটা CSV-এ কীভাবে সংরক্ষণ করবেন?

২. ওয়েব পেজ থেকে HTML টেবিল এক্সট্র্যাক্ট করে CSV-এ লিখা

import csv
from urllib.request import urlopen
from bs4 import BeautifulSoup

url = 'https://www.tutorialspoint.com/python/python_dictionary.htm'

# HTML ফেচ ও পার্স
html = urlopen(url)
soup = BeautifulSoup(html, 'html.parser')

# প্রথম টেবিল বের করা
table = soup.find_all('table')[0]
rows = table.find_all('tr')

# CSV-এ লিখা
File = open('my_html_data_to_csv.csv', 'wt+', newline='')
Data = csv.writer(File)
try:
    for row in rows:
        FilteredRow = []
        for cell in row.find_all(['td', 'th']):
            FilteredRow.append(cell.get_text(strip=True))
        Data.writerow(FilteredRow)
finally:
    File.close()

সম্পূর্ণ কোড (একসাথে)

import csv
from urllib.request import urlopen
from bs4 import BeautifulSoup

url = 'https://www.tutorialspoint.com/python/python_basic_syntax.htm'
html = urlopen(url)
soup = BeautifulSoup(html, 'html.parser')

table = soup.find_all('table')[0]
rows = table.find_all('tr')

File = open('my_html_data_to_csv.csv', 'wt+', newline='')
Data = csv.writer(File)
try:
    for row in rows:
        FilteredRow = []
        for cell in row.find_all(['td', 'th']):
            FilteredRow.append(cell.get_text(strip=True))
        Data.writerow(FilteredRow)
finally:
    File.close()

Python-এ HTML টেবিলের ডেটা CSV-এ কীভাবে সংরক্ষণ করবেন?

টিপস: `newline=''` প্যারামিটার উইন্ডোজে এক্সট্রা ব্ল্যাঙ্ক লাইন এড়াতে সাহায্য করে। `strip=True` দিয়ে এক্সট্রা হোয়াইটস্পেস সরানো যায়।

  1. ক্রোম ব্রাউজিং ইতিহাস HTML, CSV বা TXT ফরম্যাটে এক্সপোর্ট করার উপায়

  2. JSON কে এক্সেল CSV ফাইলে রূপান্তর করার পদ্ধতি

  3. টেক্সট (TXT/CSV) ফাইলকে এক্সেল ফাইলে রূপান্তর করার পদ্ধতি

  4. এক্সেলকে কমাসহ CSV-এ এক্সপোর্ট করুন: ৩টি প্রমাণিত পদ্ধতি