GithubHelp home page GithubHelp logo

gugazimmermann / dbf-reader Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shubhgupta4u/dbf-reader

0.0 1.0 0.0 76 KB

A Node.js/Typescript module to read DBase DB (.dbf file).

JavaScript 45.31% TypeScript 54.69%

dbf-reader's Introduction

dbf-reader

A Node.js/Typescript module to read tabular data from the dBase DB (.dbf) file.

Installation

npm install dbf-reader --save
yarn add dbf-reader
bower install dbf-reader --save

Usage

TypeScript

Case 1: Reading (.dbf) file from local path 'D:\Workspace\tests\sampleFiles\sample.dbf'

import { Dbf } from 'dbf-reader';
import { DataTable } from 'dbf-reader/models/dbf-file';
import * as fs from "fs";

let buffer:Buffer=fs.readFileSync('/Workspace/tests/sampleFiles/sample.dbf')
let datatable:DataTable = Dbf.read(buffer);
if (datatable) {
    datatable.rows.forEach((row: any) => {
        datatable.columns.forEach((col: Column) => {
            console.log(row[col.name]);
        });
    });
}
Output should be an instance of DataTable class

Case 2: Reading (.dbf) file from 'File' input HtmlElement

<input type="file" id="avatar" (change)="onFileChange($event)" #fileInput>
import { Dbf } from 'dbf-reader';
import { DataTable } from 'dbf-reader/models/dbf-file';
import * as fs from "fs";
 
onFileChange(event) {
    let reader = new FileReader();
    if (event.target.files && event.target.files.length > 0) {
      let file = event.target.files[0];
      reader.readAsArrayBuffer(file);
      reader.onload = () => {
        var arrayBuffer: ArrayBuffer = reader.result as ArrayBuffer;
        if (arrayBuffer) {
          let buffer: any = Buffer.from(arrayBuffer);
          let datatable:DataTable = Dbf.read(buffer);
        }
      };
    }
  }
Output should be an instance of DataTable class

Javascript

Case 1: Reading (.dbf) file from local path 'D:\Workspace\tests\sampleFiles\sample.dbf'

var dbf = require('dbf-reader');
var fs = require('fs');

var buffer:Buffer=fs.readFileSync('/Workspace/tests/sampleShpFiles/sample2-line.shp')
var datatable = dbf.read(buffer);
if (datatable) {
    datatable.rows.forEach((row) => {
        datatable.columns.forEach((col) => {
            console.log(row[col.name]);
        });
    });
}

Case 2: Reading (.dbf) file from 'File' input HtmlElement

<input type="file" id="avatar" (change)="onFileChange($event)" #fileInput>
var dbf = require('dbf-reader');
 
function onFileChange(event) {
    var reader = new FileReader();
    if (event.target.files && event.target.files.length > 0) {
      var file = event.target.files[0];
      reader.readAsArrayBuffer(file);
      reader.onload = () => {
        var arrayBuffer: ArrayBuffer = reader.result as ArrayBuffer;
        if (arrayBuffer) {
          var buffer: any = Buffer.from(arrayBuffer);
          var datatable = dbf.read(buffer);
        }
      };
    }
  }
Output should be an instance of DataTable class

AMD

define(function(require,exports,module){
  var parser = require('dbf-reader');
});

Supported dBase DB (.dbf) file version

.dbf File Type

Clipper/dBase III
dBase IV
dBase IV Windows
Foxpro 2.x
Visual Foxpro

Supported Data Type

Standard Property Type

Character: Supported
Character (binary): Supported
Currency: Supported
Date: Supported
Datetime: Supported
Double: Supported
Float: Supported
General: Supported
Integer: Supported
Integer (AutoIncre): Supported
Logical: Supported
Numeric: Supported
Varchar: Supported
Varchar (binary): Supported
Memo: Not Supported
Memo (binary): Not Supported
Varbinary: Not Supported
Blob: Not Supported

Custom Property Type

Not Supported

RI Property Type

Not Supported

Support

You can directly send any bug/issue or suggestion to my personal email id: [email protected].

dbf-reader's People

Contributors

shubhgupta4u avatar gugazimmermann avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.