If you have a very large CSV and don’t want a library:
August 11, 2025 in Javascript
Browser: Native Streaming (no library)
<script>
async function streamCSV(url) {
const response = await fetch(url);
const reader = response.body.getReader();
const decoder = new TextDecoder();
let columns;
let buffer = '';
i = 0;
while (true) {
const { value, done } = await reader.read();
if (done) break;
buffer += decoder.decode(value, { stream: true });
let lines = buffer.split('\n');
buffer = lines.pop(); // keep incomplete line
for (const line of lines) {
columns = line.split(',');
j = 0;
while(j < columns.length)
{
if(columns[j].search("Android") >= 0)
{
console.log(columns[j]); // process each row
i ++;
break;
}
j++;
}
}
}
if (buffer.trim()) {
console.log(buffer.split(','));
}
console.log("done"+i+" - " +columns.length);
}
streamCSV('cal_activity.csv');
</script>