<div>
<p>Select local CSV File:</p>
<input id="csv" type="file" accept=".csv">
</div>
<pre id="out"><p>File contents will appear here</p></pre>
<script>
const fileInput = document.getElementById('csv')
const readFile = () => {
const reader = new FileReader()
reader.onload = () => {
document.getElementById('out').innerHTML = reader.result
window.lines = reader.result.split('\n')
window.header = lines[0].split(',')
window.output = lines.slice(1).map(line => {
window.fields = line.split(',')
return Object.fromEntries(header.map((h, i) => [h, fields[i]]))
})
console.log(output)
}
reader.readAsBinaryString(fileInput.files[0])
}
fileInput.addEventListener('change', readFile)
</script>