ডেটা ইম্পোর্ট এর কোড বানাই
মনেকরি আমাদের csv ফাইলের স্ট্রাকচার নিচের মতো
name price description
Product 1 100.00 This is a great product.
Product 2 100.00 This is a Awesome product.
Product 3 100.00 This is a Good product.
Product 4 100.00 This is a Gorgious product.তাহলে আমরা সেই অনুযায়ী মডেল বানাই
from django.db import models
class Product(models.Model):
name = models.CharField(max_length=255)
price = models.DecimalField(max_digits=8, decimal_places=2)
description = models.TextField()
migrate database
python manage.py makemigrations
python manage.py migrate
import_csv.py নামে ফাইল বানাই management/commands ফোল্ডারে
import csv
from django.core.management.base import BaseCommand
from myapp.models import Product
class Command(BaseCommand):
help = 'Import CSV data to the Product model'
def add_arguments(self, parser):
parser.add_argument('csv_file', type=str, help='The CSV file to import')
def handle(self, *args, **options):
csv_file = options['csv_file']
with open(csv_file, 'r') as f:
reader = csv.DictReader(f)
for row in reader:
product = Product()
product.name = row['name']
product.price = row['price']
product.description = row['description']
product.save()
self.stdout.write('Successfully imported CSV data to the Product model')
মনেকরি আমার csv ডেটাটি F ড্রাইভে এ আছে mydata.csv নামে এখন ওই ফাইলটির লোকেশন আমাকে দিতে হবে আর্গুমেন্ট হিসাবে।
python manage.py import_csv F:\mydata.csvডেটা এক্সপোর্ট এর কোড বানাই
#export_csv.py
import csv
from django.core.management.base import BaseCommand
from myapp.models import Product
class Command(BaseCommand):
help = 'Export product data to a CSV file'
def add_arguments(self, parser):
parser.add_argument('output_file', type=str, help='The output file path (e.g., products.csv)')
def handle(self, *args, **options):
output_file = options['output_file']
# Fetch all products from the database
products = Product.objects.all()
# Create a CSV writer object
with open(output_file, 'w') as f:
writer = csv.writer(f)
# Write the header row
writer.writerow(['Name', 'Price', 'Description'])
# Write data for each product
for product in products:
writer.writerow([product.name, product.price, product.description])
self.stdout.write('Successfully exported product data to %s' % output_file)
python manage.py export_csv products.csv