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.