The append("table") does create a new table every interval. You have to create the table outside setInterval().

Maybe you can declare an empty table in your html:

<table id="table1"></table>

Your javascript might look like below to update the table when the data changes

setInterval(function() {

    d3.text("", function(data) {
        var parsedCSV = d3.csv.parseRows(data);

        var rows ="#table").selectAll("tr")


        var cells = rows.selectAll("td")
           .data(function(d) { return d; });


        cells.text(function(d) { return d; });

Related Query

More Query from same tag