CSV Data Analyzer


For Smart Bar Charts - Click Here
Advertisement




CSV (Comma-Separated Values) files store structured data, making them essential for analytics. Converting CSV data into bar charts helps visualize trends and patterns effectively.

Step 1: Prepare Your CSV File

Ensure your CSV file is well-structured with proper column headers. Example:

Category,Sales
Electronics,5000
Clothing,3000
Furniture,4000
Groceries,7000
    

Step 2: Convert CSV to JSON for Processing

Since JavaScript works better with JSON, convert CSV to JSON using Python:

import csv
import json

csv_file = "data.csv"
json_file = "data.json"

data = []
with open(csv_file, "r") as file:
    reader = csv.DictReader(file)
    for row in reader:
        data.append(row)

with open(json_file, "w") as file:
    json.dump(data, file, indent=4)

print("CSV converted to JSON successfully!")
    

Step 3: Create a Dynamic Bar Chart Using Chart.js

Use Chart.js to generate an interactive bar chart.

<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<canvas id="barChart"></canvas>
<script>
fetch("data.json")
    .then(response => response.json())
    .then(data => {
        let labels = data.map(item => item.Category);
        let values = data.map(item => item.Sales);

        new Chart(document.getElementById("barChart"), {
            type: "bar",
            data: {
                labels: labels,
                datasets: [{
                    label: "Sales Data",
                    data: values,
                    backgroundColor: "blue"
                }]
            }
        });
    });
</script>
    

Step 4: Add Filtering and Sorting Features

Use JavaScript to filter and sort data dynamically.

function filterData(data, minSales) {
    return data.filter(item => item.Sales >= minSales);
}
fetch("data.json")
    .then(response => response.json())
    .then(data => {
        console.log(filterData(data, 4000)); // Show categories with sales >= 4000
    });
    

Step 5: Export Data and Charts

Allow users to download filtered data and charts.

function downloadCSV(data) {
    let csv = "Category,Sales\n";
    data.forEach(row => {
        csv += `${row.Category},${row.Sales}\n`;
    });

    let blob = new Blob([csv], { type: "text/csv" });
    let link = document.createElement("a");
    link.href = URL.createObjectURL(blob);
    link.download = "filtered_data.csv";
    link.click();
}

function downloadChart() {
    let canvas = document.getElementById("barChart");
    let link = document.createElement("a");
    link.href = canvas.toDataURL("image/png");
    link.download = "bar_chart.png";
    link.click();
}
    

Conclusion

Converting CSV analytics tools into bar charts enhances data visualization. By using JSON conversion, Chart.js, and filtering options, users can efficiently analyze and present data.