Upload and read csv
by Daniel Ayala
HTML
<input type="file" id="fileSelector" name="fileSelector" accept='*.csv' />
JavaScript
var csv = '';
var handleFileSelect = function (event) {
var file = event.target.files[0];
console.log('file', file);
var reader = new FileReader();
reader.onload = function () {
var r = reader.result;
csv = r;
new csvFilter(csv);
}
reader.readAsText(file);
}
document.getElementById('fileSelector')
.addEventListener('change', handleFileSelect, false);
var csvFilter = function (csv) {
this.csv = csv;
console.log('got ', csv);
var rows = [];
var results = csv.split('\n');
columnHeaders = results.shift();
results.forEach(function (obj, i) {
var _columns = obj.split(',');
rows.push({
columns: _columns
});
});
var states = {
unknown: 0
};
rows.forEach(function (obj) {
//home state is cell 5;
var state = obj.columns[5];
if (!state || state == null) {
states.unknown += 1;
} else if (!states[state]) {
states[state] = 1;
} else {
states[state] += 1;
}
});
console.log('states', states);
console.log('final', rows);
}