danfo.streamCSV
Streams a CSV file from a local or remote location in chunks. Each intermediate chunk is passed as a DataFrame to the callback function.
danfo.streamCSV(filePath, callback, options)
Parameters
Type
Description
filePath
string
URL or local file path to CSV file.
callback
Function
Callback function to be called once the specifed rows are parsed into DataFrame.
options
object
Optional configuration object. Supports all Papaparse config options.
The streamCSV function streams a CSV file from a local or remote location in chunks. Each intermediate chunk is passed as a DataFrame to the callback function.

Stream CSV file from local path

Node
1
const dfd = require("danfojs-node")
2
const path = require("path")
3
4
const filePath = path.join(process.cwd(), "raw_data", "titanic.csv");
5
6
dfd.streamCSV(filePath, (df) => {
7
if (df) {
8
// Do any processing here
9
df.print();
10
}
11
});
Copied!
Output
1
//Showing few rows
2
...
3
4
╔════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╗
5
║ │ PassengerId │ Survived │ Pclass │ Name │ ... │ Fare │ Cabin │ Embarked ║
6
╟────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
7
║ 676 │ 687 │ 0 │ 3 │ Panula, Mr. Jaa… │ ... │ 39.6875 │ │ S ║
8
╚════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╝
9
10
╔════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╗
11
║ │ PassengerId │ Survived │ Pclass │ Name │ ... │ Fare │ Cabin │ Embarked ║
12
╟────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
13
║ 677 │ 688 │ 0 │ 3 │ Dakic, Mr. Bran… │ ... │ 10.1708 │ │ S ║
14
╚════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╝
15
16
...
Copied!

Stream CSV file from remote path

Node
1
const dfd = require("danfojs-node")
2
3
const remoteFile = "https://raw.githubusercontent.com/opensource9ja/danfojs/dev/danfojs-node/tests/samples/titanic.csv"
4
5
const callback = (df) => {
6
//Perform any processing here
7
if (df) {
8
df.print();
9
}
10
}
11
12
dfd.streamCSV(remoteFile, callback, { header: true })
Copied!
Output
1
//Showing a few rows
2
...
3
4
╔════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╗
5
║ │ Survived │ Pclass │ Name │ Sex │ Age │ Siblings/Spouse… │ Parents/Childre… │ Fare ║
6
╟────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
7
║ 523 │ 0 │ 1 │ Mr. John Farthi… │ male │ 49 │ 0 │ 0 │ 221.7792 ║
8
╚════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╝
9
10
╔════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╗
11
║ │ Survived │ Pclass │ Name │ Sex │ Age │ Siblings/Spouse… │ Parents/Childre… │ Fare ║
12
╟────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
13
║ 524 │ 0 │ 3 │ Mr. Johan Werne… │ male │ 39 │ 0 │ 0 │ 7.925 ║
14
╚════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╝
15
16
...
Copied!
Last modified 13d ago