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.
Ensure your CSV file is well-structured with proper column headers. Example:
Category,Sales Electronics,5000 Clothing,3000 Furniture,4000 Groceries,7000
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!")
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>
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 });
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(); }
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.